mirror of
https://github.com/discourse/discourse.git
synced 2025-01-18 14:32:44 +08:00
clean up implementation of non frame login / registration
This commit is contained in:
parent
fab51496cb
commit
b6c2aa13e6
|
@ -33,6 +33,7 @@ class Users::OmniauthCallbacksController < ApplicationController
|
|||
auth[:session] = session
|
||||
|
||||
authenticator = self.class.find_authenticator(params[:provider])
|
||||
provider = Discourse.auth_providers && Discourse.auth_providers.find{|p| p.name == params[:provider]}
|
||||
|
||||
@auth_result = authenticator.after_authenticate(auth)
|
||||
|
||||
|
@ -54,9 +55,15 @@ class Users::OmniauthCallbacksController < ApplicationController
|
|||
else
|
||||
@auth_result.authenticator_name = authenticator.name
|
||||
complete_response_data
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { render json: @auth_result.to_client_hash }
|
||||
|
||||
if provider && provider.full_screen_login
|
||||
flash[:authentication_data] = @auth_result.to_client_hash.to_json
|
||||
redirect_to @origin
|
||||
else
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { render json: @auth_result.to_client_hash }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -53,6 +53,11 @@
|
|||
<%- end %>
|
||||
Discourse.S3BaseUrl = '<%= Discourse.store.absolute_base_url %>';
|
||||
<%- end %>
|
||||
<%- if !current_user && flash[:authentication_data] %>
|
||||
Em.run.next(function(){
|
||||
Discourse.authenticationComplete(<%=flash[:authentication_data].html_safe%>);
|
||||
});
|
||||
<%- end %>
|
||||
</script>
|
||||
|
||||
<%= script 'browser-update' %>
|
||||
|
|
|
@ -22,12 +22,8 @@
|
|||
<p><%=t "login.close_window" %></p>
|
||||
|
||||
<script type="text/javascript">
|
||||
if(window.opener) {
|
||||
window.opener.Discourse.authenticationComplete(<%=@auth_result.to_client_hash.to_json.html_safe%>);
|
||||
window.close();
|
||||
} else {
|
||||
window.location = <%= @origin.inspect.html_safe %>;
|
||||
}
|
||||
window.opener.Discourse.authenticationComplete(<%=@auth_result.to_client_hash.to_json.html_safe%>);
|
||||
window.close();
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
|
Loading…
Reference in New Issue
Block a user