Class: OpenidBackchannelLogout::Executor
- Inherits:
-
Object
- Object
- OpenidBackchannelLogout::Executor
- Defined in:
- lib/openid_backchannel_logout/executor.rb
Instance Method Summary collapse
- #call(request) {|sub, sid| ... } ⇒ Object
-
#initialize ⇒ Executor
constructor
A new instance of Executor.
Constructor Details
#initialize ⇒ Executor
8 9 10 11 |
# File 'lib/openid_backchannel_logout/executor.rb', line 8 def initialize @expected_issuer = OpenidBackchannelLogout.configuration.issuer @expected_audience = OpenidBackchannelLogout.configuration.audience end |
Instance Method Details
#call(request) {|sub, sid| ... } ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/openid_backchannel_logout/executor.rb', line 13 def call(request) logout_token = extract_token(request) raise Error::MissingLogoutTokenError unless logout_token jwks_uri = fetch_jwks_uri validator = TokenValidator.new( logout_token, jwks_uri, @expected_issuer, @expected_audience ) validator.valid! payload = validator.decoded_token.first sub = payload['sub'] sid = payload['sid'] raise Error::NoBlockProvidedError, 'No block provided for handling sub and sid' unless block_given? yield(sub, sid) end |