Tentei muitas variações para listar aqui, mas o ponto básico é que não consigo logar o usuário imediatamente após o registro pelos Serviços. Tentei uma nova instalação do Drupal 7.33 apenas com o Services 7.x.3.11 ativado e as configurações de recursos padrão fornecidas pelo drupalgap 7.x.1.9
Quando me registro usando a interface do Drupal, o usuário é criado, a sessão é aberta e eu chego na minha página de perfil.
vs.
Quando ligo para o terminal de serviços /services/user/register.json
, o Drupal cria a conta, mas a sessão não persiste. Veja minhas imagens abaixo.
Como posso A. obter a sessão para persistir para chamadas de recursos de serviço subseqüentes OU B. ligar para adicionar a senha do usuário ou gerada automaticamente de volta à resposta json para que eu possa reenviar programaticamente o formulário /login.json do lado do cliente (que persiste)?
Esta pergunta como o usuário global $ pode ser diferente entre a interface Drupal e o módulo Serviços? descreve meu mesmo problema usando o LoginToboggan.
Na minha captura de tela, você verá uma linha de depuração chamada "login debug". Vem da linha 333 de "/sites/all/modules/logintoboggan/logintoboggan.module", onde eu tentei tudo isso sem sucesso ...
function logintoboggan_process_login($account, &$edit, $redirect = array()){
global $user;
$user = user_load($account->uid);
//watchdog('login debug', json_encode($account));
watchdog('login debug', json_encode($edit));
//user_login_submit(array(), array('uid' => $account->uid));
user_login_finalize($edit);
// $user = user_load($account->uid);
// $user->token = drupal_get_token('services'); // WE HAVE A TOKEN ALTHOUGH I DOUBT THIS WOULD WORK IN TERMS OF SESSION PERSISTANCE
// user_login_finalize($edit);
// module_invoke_all('hook_user_login');
// module_invoke_all('tripchi_user_login');
// module_invoke_all('logintoboggan_user_login');