Commit bb8475aa68d814674c78194b2d28a52ebb739977

Authored by Ábner Silva de Oliveira
1 parent 4b77d185

changed oauth finish to get user data from params

plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb
@@ -43,7 +43,16 @@ class OauthClientPluginPublicController < PublicController @@ -43,7 +43,16 @@ class OauthClientPluginPublicController < PublicController
43 session[:notice] = _("Can't login with #{provider.name}") 43 session[:notice] = _("Can't login with #{provider.name}")
44 end 44 end
45 session[:oauth_client_popup] = true if request.env.fetch("omniauth.params", {})['oauth_client_popup'] 45 session[:oauth_client_popup] = true if request.env.fetch("omniauth.params", {})['oauth_client_popup']
46 - session[:return_to] = url_for(:controller => :oauth_client_plugin_public, :action => :finish) 46 + session[:return_to] = url_for(
  47 + :controller => :oauth_client_plugin_public,
  48 + :action => :finish,
  49 + :user => {
  50 + :login => current_user.login,
  51 + :person => {:identifier => current_user.person.identifier, :name => current_user.person.name}
  52 + } ,
  53 + :profile_data => {:name => current_user.person.name},
  54 + :oauth_client_popup => session[:oauth_client_popup]
  55 + )
47 56
48 redirect_to :controller => :account, :action => :login 57 redirect_to :controller => :account, :action => :login
49 end 58 end
plugins/oauth_client/views/oauth_client_plugin_public/finish.html.erb
@@ -7,7 +7,12 @@ @@ -7,7 +7,12 @@
7 <script> 7 <script>
8 window.addEventListener("message", function(ev) { 8 window.addEventListener("message", function(ev) {
9 if (ev.data.message === "requestOauthClientPluginResult") { 9 if (ev.data.message === "requestOauthClientPluginResult") {
10 - ev.source.postMessage({ message: "oauthClientPluginResult", logged_in: <%= logged_in? %>, private_token: '<%= private_token %>', user: <%= (logged_in? ? {:login => current_user.login, :person => {:identifier => current_user.person.identifier, :name => current_user.person.name}} : {}).to_json %> }, "*"); 10 + ev.source.postMessage(
  11 + {
  12 + message: "oauthClientPluginResult",
  13 + logged_in: <%= logged_in? %>,
  14 + private_token: '<%= private_token %>',
  15 + user: <%= params[:user].to_json %> }, "*");
11 } 16 }
12 }); 17 });
13 </script> 18 </script>