Class: GDS::SSO::AuthorisedUserConstraint

Inherits:
Object
  • Object
show all
Defined in:
lib/gds-sso/authorised_user_constraint.rb

Instance Method Summary collapse

Constructor Details

#initialize(permissions) ⇒ AuthorisedUserConstraint

Returns a new instance of AuthorisedUserConstraint.



4
5
6
# File 'lib/gds-sso/authorised_user_constraint.rb', line 4

def initialize(permissions)
  @permissions = permissions
end

Instance Method Details

#matches?(request) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
# File 'lib/gds-sso/authorised_user_constraint.rb', line 8

def matches?(request)
  warden = request.env["warden"]
  warden.authenticate! if !warden.authenticated? || warden.user.remotely_signed_out?

  GDS::SSO::AuthoriseUser.call(warden.user, permissions)
  true
end