From 9176e687f464b1b7ef28d756b646ddf445e7c962 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Tue, 1 Sep 2015 11:10:09 -0300 Subject: [PATCH] oauth_client: generate private token when login --- plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb | 1 + plugins/oauth_client/test/functional/oauth_client_plugin_public_controller_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb b/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb index d267050..d3e86ca 100644 --- a/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb +++ b/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb @@ -36,6 +36,7 @@ class OauthClientPluginPublicController < PublicController auth ||= person.oauth_auths.create! profile: person, provider: provider, enabled: true if auth.enabled? && provider.enabled? self.current_user = person.user + self.current_user.generate_private_token! else session[:notice] = _("Can't login with %s") % provider.name end diff --git a/plugins/oauth_client/test/functional/oauth_client_plugin_public_controller_test.rb b/plugins/oauth_client/test/functional/oauth_client_plugin_public_controller_test.rb index d85b2b8..4757ddf 100644 --- a/plugins/oauth_client/test/functional/oauth_client_plugin_public_controller_test.rb +++ b/plugins/oauth_client/test/functional/oauth_client_plugin_public_controller_test.rb @@ -31,6 +31,17 @@ class OauthClientPluginPublicControllerTest < ActionController::TestCase assert_equal user.id, session[:user] end + should 'generate private token when login' do + user = create_user + auth.info.stubs(:email).returns(user.email) + auth.info.stubs(:name).returns(user.name) + session[:provider_id] = provider.id + + assert user.reload.private_token.nil? + get :callback + assert user.reload.private_token.present? + end + should 'do not login when the provider is disabled' do user = create_user auth.info.stubs(:email).returns(user.email) -- libgit2 0.21.2