add france connect logout process
This commit is contained in:
parent
9c6b9d408b
commit
aeeb9406e9
3 changed files with 58 additions and 10 deletions
|
@ -10,14 +10,26 @@ class Users::SessionsController < Devise::SessionsController
|
|||
def create
|
||||
super
|
||||
|
||||
current_user.login_with_france_connect = false
|
||||
current_user.save
|
||||
current_user.update_attributes(login_with_france_connect: false)
|
||||
end
|
||||
|
||||
# DELETE /resource/sign_out
|
||||
# def destroy
|
||||
# super
|
||||
# end
|
||||
def destroy
|
||||
connected_with_france_connect = current_user.login_with_france_connect
|
||||
current_user.update_attributes(login_with_france_connect: false)
|
||||
|
||||
|
||||
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
|
||||
set_flash_message :notice, :signed_out if signed_out && is_flashing_format?
|
||||
yield if block_given?
|
||||
|
||||
|
||||
if connected_with_france_connect
|
||||
redirect_to FRANCE_CONNECT.logout_endpoint
|
||||
else
|
||||
respond_to_on_destroy
|
||||
end
|
||||
end
|
||||
|
||||
# protected
|
||||
|
||||
|
|
|
@ -4,10 +4,13 @@ class FranceConnectClient < OpenIDConnect::Client
|
|||
super(
|
||||
identifier: FRANCE_CONNECT.identifier,
|
||||
secret: FRANCE_CONNECT.secret,
|
||||
|
||||
redirect_uri: FRANCE_CONNECT.redirect_uri,
|
||||
|
||||
authorization_endpoint: FRANCE_CONNECT.authorization_endpoint,
|
||||
token_endpoint: FRANCE_CONNECT.token_endpoint,
|
||||
userinfo_endpoint: FRANCE_CONNECT.userinfo_endpoint
|
||||
userinfo_endpoint: FRANCE_CONNECT.userinfo_endpoint,
|
||||
logout_endpoint: FRANCE_CONNECT.logout_endpoint
|
||||
)
|
||||
self.authorization_code = params[:code] if params.has_key? :code
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue