diff --git a/app/models/api/openid_connect/o_auth_application.rb b/app/models/api/openid_connect/o_auth_application.rb index 58a03b3cacb0c131c2fcc50c67ea6fc7517181a6..a136fc123bbf447a22cac37d5c5d042555a3a8d1 100644 --- a/app/models/api/openid_connect/o_auth_application.rb +++ b/app/models/api/openid_connect/o_auth_application.rb @@ -1,7 +1,7 @@ module Api module OpenidConnect class OAuthApplication < ActiveRecord::Base - has_many :authorizations + has_many :authorizations, dependent: :destroy has_many :user, through: :authorizations validates :client_id, presence: true, uniqueness: true diff --git a/lib/api/openid_connect/authorization_point/endpoint_confirmation_point.rb b/lib/api/openid_connect/authorization_point/endpoint_confirmation_point.rb index 62fa207a5dc57c1956bed81b3a5cb175f4f05cf7..104b0a0fbc4b50291361ed5df19301e121069b0a 100644 --- a/lib/api/openid_connect/authorization_point/endpoint_confirmation_point.rb +++ b/lib/api/openid_connect/authorization_point/endpoint_confirmation_point.rb @@ -24,7 +24,7 @@ module Api auth = OpenidConnect::Authorization.find_or_create_by( o_auth_application: @o_auth_application, user: @user, redirect_uri: @redirect_uri) auth.nonce = req.nonce - auth.scopes << @scopes + auth.scopes << @scopes unless auth.scopes == @scopes handle_approved_response_type(auth, req, res) res.approve! end