class Doorkeeper::TokensController
def authorized?
https://tools.ietf.org/html/rfc6749#section-2.1
verified).
types, they set the application_id as null (since the claim cannot be
clients authenticate the resource owner via "password" or "implicit" grant
OAuth client associated with a given access or refresh token. Since public
Doorkeeper determines the client type implicitly via the presence of the
cannot revoke another's tokens.
revoke the provided access or refresh token. This ensures one client
Once a confidential client is authenticated, it must be authorized to
confidential clients must be authenticated for their token revocation.
Public clients (as per RFC 7009) do not require authentication whereas
OAuth 2.0 Section 2.1 defines two client types, "public" & "confidential".
def authorized? return unless token.present? # Client is confidential, therefore client authentication & authorization # is required if token.application_id? && token.application.confidential? # We authorize client by checking token's application server.client && server.client.application == token.application else # Client is public, authentication unnecessary true end end