These are chat archives for hacklabr/mapasculturais

15th
Jul 2015
tiagobugarin
@tiagobugarin
Jul 15 2015 01:10
isso acontece porque não foram encontrados os assets.
entra no diretório "script" e executa o compile-sass.sh
./compile-sass.sh
ferleonardo
@ferleonardo
Jul 15 2015 17:23
@tiagobugarin fala, man!! Consegui integrar o LC
tiagobugarin
@tiagobugarin
Jul 15 2015 17:24
Nada ainda.
ferleonardo
@ferleonardo
Jul 15 2015 17:27
@tiagobugarin eu consegui!! isso depois de alguns var_dump para saber onde tava indo o retorno do LC, se o Mapas estava recebendo o code e enviando para o LC novamente e só entao trazer o usuário
tiagobugarin
@tiagobugarin
Jul 15 2015 17:28
Pooo que massa. Manda aqui como ficou seu config.php e o o ajuste do LC
Assim que eu conseguir replicar atualizo o guia de instalação
ferleonardo
@ferleonardo
Jul 15 2015 17:40

mapasculturais/src/protected/application/conf/config.php

'auth.provider' => 'OpauthLoginCidadao',
        'auth.config' => array(
            'redirect_uri' => 'http://seu.mapa.com.br/auth/logincidadao/oauth2callback/',
            'client_secret' => 'sua_chave_privada',
            'cliente_id' => 'sua_chave_publica,
            'auth_endpoint' => 'http://seu.lc.com.br/oauth/v2/auth',
            'token_endpoint' => 'http://seu.lc.com.br/oauth/v2/token',
            'user_info_endpoint' => 'http://seu.lc.com.br/api/v1/person.json'
        )

mapasculturais/src/protected/application/lib/MapasCulturais/AuthProviders/OpauthLoginCidadao.php

 $opauth_config = [
            'strategy_dir' => PROTECTED_PATH . '/vendor/opauth/',
            'Strategy' => [
                'logincidadao' => $config
            ],
            'security_salt' => $config['salt'],
            'security_timeout' => $config['timeout'],
            'path' => '/auth/', 
            'callback_url' => $app->createUrl('auth','response'),
            'callback_transport' => 'session'
        ];

verifica se tem essa linha no seu arquivo (aqui irá rodar o opauth)

$app->hook('<<GET|POST>>(auth.logincidadao)', function () use($opauth, $config){

Agora no seu LC vc tem que cadastrar a mesma URI que está setada no seu arquivo config.php ou seja:

http://seu.mapa.com.br/auth/logincidadao/oauth2callback/
tiagobugarin
@tiagobugarin
Jul 15 2015 18:11
legal @ferleonardo , hoje de noite testo isso.
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 20:06
@ferleonardo você precisou amodificar o arquivo lib/MapasCulturais/AuthProviders/OpauthLoginCidadao.php ?
ferleonardo
@ferleonardo
Jul 15 2015 20:28

@rafaelchavesfreitas na verdade só coloquei a acao para logout

$app->hook('GET(auth.sair)', function() use($app){ 
            unset($_SESSION['opauth']);
            $app->auth->_cleanUserSession();
            $app->redirect($app->createUrl(''));
        });

os outros parametros do array pode ser passado pelo 'auth.config' => array() no arquivo config.php

só que o path com expressão regular que ta la no OpauthLoginCidadao.php nao funcionou

'path' => preg_replace('#^https?\:\/\/[^\/]*(/.*)#', '$1', $app->createUrl('auth'))

entao coloquei apenas

'path' => '/auth/',

e aí executou o metodo oauth2callback() do arquivo

/var/www/mapasculturais/src/protected/vendor/opauth/logincidadao/logincidadaoStrategy.php
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 20:43
@ferleonardo mas pq? não estava funcionando?
@ferleonardo o logout
@ferleonardo a action logout do controller Auth chama o método logout do authprovider e depois redireciona o usuário para a raíz do site
ferleonardo
@ferleonardo
Jul 15 2015 20:45
@rafaelchavesfreitas nao.. se nao me engano tava dando erro 404
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 20:47
@ferleonardo esse método logout define o usuário autenticado como null e chama o _cleanUserSession, que faz o mesmo unset($_SESSION['opauth']);
@ferleonardo ou seja, acho que faz a mesma coisa que você fez... :)
ferleonardo
@ferleonardo
Jul 15 2015 20:48
@rafaelchavesfreitas sim, exatamente! mas nao tava encontrando a action.. e ai dava erro 404 rs
@rafaelchavesfreitas uma dúvida.. esse logout nao destroi as sessoes ativas do LC, daí se o usuário sai e depois clica em entrar ele será logado automaticamente com usuário do LC que está logado.. nao é melhor destuir todas as sessoes, ate mesmo as do LC para forçar o usuário a logar no LC novamente quando for entrar no Mapas??
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 20:53
@ferleonardo boa pergunta, mas a questão é que o usuário pode estar utilizando outro serviço pelo login cidadão...
@ferleonardo principalmente no caso do RS, já tem alguns outros serviços que se autenticam pelo login cidadão.
@ferleonardo mas voltando ao problema do 404, qual url tava dando 404 ? você alterou a configuração das rotas no config.php?
ferleonardo
@ferleonardo
Jul 15 2015 20:57
@rafaelchavesfreitas mas é perigoso deixar a sessao aberta.. ainda mais em computadores compartilhados. Um usuário comum acessa um serviço, loga no LC e depois faz logout nesse serviço e vai embora. Mas aí vem outra pessoa e usa a máquina, vai logar no LC ou acessar algum serviço e... logado com o usuário do cara que foi embora.
@rafaelchavesfreitas deixa eu verificar.. vou comentar meu codigo e vou ver se vai fazer logout
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 21:00
@ferleonardo no OpauthOpenId.php tem isso:
if($config['logout_url']){
            $app->hook('auth.logout:after', function() use($app, $config){
                $app->redirect($config['logout_url'] . '?next=' . $app->baseUrl);
            });
        }
@ferleonardo podemos fazer algo assim para o login cidadão, uma configuração do provider para ele fazer o logout no login cidadão tb
ferleonardo
@ferleonardo
Jul 15 2015 21:05
@rafaelchavesfreitas nao alterei as rotas nao.. o logout seria nessa url /autenticacao/sair/ mas aí nao encontra e retorna 404
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 21:07
@ferleonardo e só /sair ??
ferleonardo
@ferleonardo
Jul 15 2015 21:07
@rafaelchavesfreitas que é o mesmo que /auth/logout/
@rafaelchavesfreitas se for só sair, entao fechou! vou testar
@rafaelchavesfreitas funfou! rs
Rafael Chaves Freitas
@rafaelchavesfreitas
Jul 15 2015 21:11
hehe
tentando gerar esta url com o $app->createUrl('auth', 'logout') deveria retornar '/sair'
ferleonardo
@ferleonardo
Jul 15 2015 21:12
vlw