module

Devise::JWT

Constants

DEFAULT_ACCESS_TTL = 15.minutes
DEFAULT_REFRESH_TTL = 30.days

Class methods

access_ttl
Source
access_ttl=(access_ttl : Time::Span)
Source
decode(token : String) : Hash(String, JSON::Any)

Decodes and verifies signature + exp; raises TokenExpired / TokenInvalid.

Source
encode(payload : Hash(String, JSON::Any | String | Int64 | Float64 | Nil)) : String
Source
issue_access(user_id : Int64) : String
Source
issue_pair(user_id : Int64) : NamedTuple(access: String, refresh: String)
Source
issue_refresh(user_id : Int64) : String
Source
refresh(refresh_token : String) : NamedTuple(access: String, refresh: String, user_id: Int64)

Rotation: consumes the refresh token (revokes its row) and returns a fresh access/refresh pair. A revoked/expired token raises TokenInvalid.

Source
refresh_ttl
Source
refresh_ttl=(refresh_ttl : Time::Span)
Source
secret
Source
secret=(secret : String)
Source

Nested types