Issue #334
Testar e corrigir (se necessário) plugins OAuth
Testar a instalação e funcionamento dos plugins do noosfero oauth_provider
e oauth_client
. Corrigir possíveis problemas dos plugins que tenham surgido nas versões mais recentes do Noosfero e ainda não foram corrigidos. Empacotar para o Debian versões mais recentes das gems utilizadas pelos plugins caso necessário.
-
Identifiquei um "bug"
Quando o email do provider facebook nao e passado pela requisiçao:
undefined method `split' for nil:NilClass
config/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb:37:in
signup' config/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb:8:in
callback'def signup(auth) login = auth.info.email.split('@').first session[:oauth_data] = auth name = auth.info.name name ||= auth.extra && auth.extra.raw_info ? auth.extra.raw_info.name : ''
As vezes o usuario do facebook pode nao ter um email, de acordo com a documentaçao deles:
Por exemplo, se alguém se inscrever no Facebook com um número de telefone em vez de um endereço de email, o campo email poderá ficar vazio.
-
Outro detalhe importante, a API do facebook mudou, vamos fazer algumas alteraçoes =)
-
Estamos trabalhando nessa branch: https://softwarepublico.gov.br/gitlab/noosferogov/noosfero/commits/federation_oauth
-
Criei uma branch a partir do core e fizemos o merge request https://gitlab.com/noosfero/noosfero/merge_requests/965 @diguliu @larissareis @marcosronaldo
Já podem revisar!
-
Para o plugin oauth_client temos as seguintes pendências:
No Gemfile:
gem "omniauth-google-oauth2", '~> 0.2.6' gem "omniauth-oauth2", '~> 1.3.1'
No Debian Jessie:
omniauth-google-oauth2 (0.2.4) omniauth-oauth2 (1.1.2)
As versões do Debian Jessie são incompatíveis entre si:
Bundler could not find compatible versions for gem "omniauth-oauth2": In Gemfile: omniauth-facebook (~> 2.0.0) ruby depends on omniauth-oauth2 (~> 1.2) ruby omniauth-oauth2 (~> 1.1.2) ruby
A gem
omniauth-oauth2
tem a versão 1.4.0 no stretch mas essa versão tem um erro: https://github.com/intridea/omniauth-oauth2/issues/81Solução:
- Empacotar a versão correta do
omniauth-google-oauth2
, ou seja, versão 0.2.6 - Empacotar a versão 1.3.1 do
omniauth-oauth2
- Testar novamente para conferir se nada quebrou.
Para o plugin oauth_provider
Falta realizar os testes, o que será feito por @darksshades
- Empacotar a versão correta do
-
Os pacotes com as versões especificadas já estão disponíveis no repositório jessie-test, para testar basta editar o seu source.list
-
@larissareis o merge que corrige o ouaht_provider https://gitlab.com/noosfero/noosfero/merge_requests/978
-
O último plugin acabou sendo atualizado pelo serpro antes que pudéssemos corrigir os problemas apontados pela revisão do código: https://gitlab.com/noosfero/noosfero/merge_requests/990/diffs
-
Status changed to closed