(->config user-config)
Inputs: [user-config :- UserConfig] Returns: Config
Inputs: [user-config :- UserConfig] Returns: Config
(current-epoch!)
Inputs: [] Returns: s/Num
Returns the current time in epoch
Inputs: [] Returns: s/Num Returns the current time in epoch
(default-error-handler {:keys [error error_description] :as jwt-error})
Return an unauthorized
HTTP response and log the error along debug infos
Return an `unauthorized` HTTP response and log the error along debug infos
Default JWT lifetime is 24h
Default JWT lifetime is 24h
(jwt->oauth-ids prefix jwt)
Inputs: [prefix :- s/Str jwt :- JWTClaims]
can be used as post-jwt-format-fn
This is an example function that given a JWT whose claims looks like:
It is a generic format about what an access-token should provide:
mainly transform a list of <prefix>/foo/bar/baz value into a deep nested map. For example:
(sut/jwt->oauth-ids "http://example.com/claims" {:sub "user-id" "http://example.com/claims/scopes" ["scope1" "scope2"] "http://example.com/claims/user/id" "user-id" "http://example.com/claims/user/name" "John Doe" "http://example.com/claims/user/email" "john.doe@dev.null" "http://example.com/claims/user/idp/id" "iroh" "http://example.com/claims/user/idp/name" "Visibility" "http://example.com/claims/org/id" "org-id" "http://example.com/claims/org/name" "ACME Inc." "http://example.com/claims/oauth/client/id" "client-id" "http://example.com/claims/oauth/kind" "code"})
=> {:user {:idp {:name "Visibility" :id "iroh"}, :name "John Doe", :email "john.doe@dev.null", :id "user-id"} :oauth {:kind "code" :client {:id "client-id"}}, :org {:name "ACME Inc." :id "org-id"}, :scopes #{"scope1" "scope2"}}
Inputs: [prefix :- s/Str jwt :- JWTClaims] can be used as post-jwt-format-fn This is an example function that given a JWT whose claims looks like: - :sub - "<prefix>/scopes" - "<prefix>/org/id" - "<prefix>/oauth/client/id" It is a generic format about what an access-token should provide: - user-id, client-id, scopes - org-id mainly transform a list of <prefix>/foo/bar/baz value into a deep nested map. For example: (sut/jwt->oauth-ids "http://example.com/claims" {:sub "user-id" "http://example.com/claims/scopes" ["scope1" "scope2"] "http://example.com/claims/user/id" "user-id" "http://example.com/claims/user/name" "John Doe" "http://example.com/claims/user/email" "john.doe@dev.null" "http://example.com/claims/user/idp/id" "iroh" "http://example.com/claims/user/idp/name" "Visibility" "http://example.com/claims/org/id" "org-id" "http://example.com/claims/org/name" "ACME Inc." "http://example.com/claims/oauth/client/id" "client-id" "http://example.com/claims/oauth/kind" "code"}) => {:user {:idp {:name "Visibility" :id "iroh"}, :name "John Doe", :email "john.doe@dev.null", :id "user-id"} :oauth {:kind "code" :client {:id "client-id"}}, :org {:name "ACME Inc." :id "org-id"}, :scopes #{"scope1" "scope2"}}
(jwt->user-id jwt)
Inputs: [jwt :- JWTClaims] Returns: s/Str
can be used as post-jwt-format-fn
Inputs: [jwt :- JWTClaims] Returns: s/Str can be used as post-jwt-format-fn
The default function used for :is-revoked-fn
configuration
The default function used for `:is-revoked-fn` configuration
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close