Class: StandardId::Provider::RevocationController

Inherits:
ApplicationController show all
Defined in:
app/controllers/standard_id/provider/revocation_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/controllers/standard_id/provider/revocation_controller.rb', line 15

def create
  token = params[:token]
  return head :ok if token.blank?

  payload = StandardId::JwtService.decode(token)
  return head :ok if payload.nil?

  jti = payload[:jti]
  return head :ok if jti.blank?

  expires_at = payload[:exp] ? Time.at(payload[:exp]) : 1.day.from_now

  RevokedToken.revoke!(
    jti: jti,
    client_id: @client_credential.client_id,
    token_type: params[:token_type_hint],
    expires_at: expires_at
  )

  head :ok
end