The openid-key Reference Manual

This is the openid-key Reference Manual, version 0.1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:29:06 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 openid-key

Get OpenID keys from issuer.

Author

Koga Kazuo

License

MIT

Long Description

# Openid-Key

You can get public key of OpenID Connect [id-token][id-token].
Then, you can verify id-token with the key.

OpedID Key format has defined in [JSON Web Key (JWK)][JWK].

## Usage

“‘
CL-USER> (setf *keys* (openid-key:get-openid-keys "https://accounts.google.com")) #S(OPENID-KEY::OPENID-KEYS
:ISSUER "https://accounts.google.com"
:JWKS-EXPIRES @2018-11-03T20:03:46.000000+09:00
:KEYS (#S(OPENID-KEY::OPENID-KEY
:KTY "RSA"
:USE "sig"
:ALG "RS256"
:KID "8289d54280b76712de41cd2ef95972b123be9ac0"
:KEY #<IRONCLAD::RSA-PUBLIC-KEY {1001EE03A3}>) #S(OPENID-KEY::OPENID-KEY
:KTY "RSA"
:USE "sig"
:ALG "RS256"
:KID "aa436c3f63b281ce0d976da0b51a34860ff960eb"
:KEY #<IRONCLAD::RSA-PUBLIC-KEY {1001F40433}>)))
CL-USER> (openid-key:find-openid-key "8289d54280b76712de41cd2ef95972b123be9ac0" *keys*) #<IRONCLAD::RSA-PUBLIC-KEY {1001B512E3}>
"RS256"
"RSA"
"sig"
“‘

You may also be interested in [Jose][Jose] for verify [id-token][id-token].

## Installation

[Jose]: http://quickdocs.org/jose/
[JWK]: https://tools.ietf.org/html/rfc7517
[id-token]: https://openid.net/specs/openid-connect-core-1_0.html

Version

0.1.1

Dependencies
  • cl-base64 (system).
  • dexador (system).
  • ironclad (system).
  • jonathan (system).
  • local-time (system).
  • quri (system).
  • trivial-rfc-1123 (system).
Source

openid-key.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 openid-key/src

Source

openid-key.asd.

Parent Component

openid-key (system).

Child Component

openid-key.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 openid-key/openid-key.asd

Source

openid-key.asd.

Parent Component

openid-key (system).

ASDF Systems

openid-key.


4.1.2 openid-key/src/openid-key.lisp

Source

openid-key.asd.

Parent Component

src (module).

Packages

openid-key.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 openid-key

Source

openid-key.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Ordinary functions

Function: find-openid-key (kid keys)

Find key by key id from keys, or nil

Package

openid-key.

Source

openid-key.lisp.

Function: get-openid-keys (issuer &key cached-keys proxy retry-times retry-interval)

Get JWKs from ISSUER, or nil

CACHED-KEYS — an openid-keys for previous returned value, or nil. PROXY — a string for HTTP request proxy uri, or nil.

Package

openid-key.

Source

openid-key.lisp.


6.1.2 Structures

Structure: openid-keys
Package

openid-key.

Source

openid-key.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: issuer
Readers

openid-keys-issuer.

Writers

(setf openid-keys-issuer).

Slot: jwks-expires
Readers

openid-keys-jwks-expires.

Writers

(setf openid-keys-jwks-expires).

Slot: keys
Readers

openid-keys-keys.

Writers

(setf openid-keys-keys).


6.2 Internals


6.2.1 Ordinary functions

Function: b64-integer (s)
Package

openid-key.

Source

openid-key.lisp.

Function: config-endpoint (endpoint)
Package

openid-key.

Source

openid-key.lisp.

Function: copy-openid-key (instance)
Package

openid-key.

Source

openid-key.lisp.

Function: copy-openid-keys (instance)
Package

openid-key.

Source

openid-key.lisp.

Function: get-expires (headers)
Package

openid-key.

Source

openid-key.lisp.

Function: issuer-endpoint (issuer)
Package

openid-key.

Source

openid-key.lisp.

Function: jwk-key (jwk)
Package

openid-key.

Source

openid-key.lisp.

Function: make-openid-key (&key kty use alg kid key)
Package

openid-key.

Source

openid-key.lisp.

Function: make-openid-keys (&key issuer jwks-expires keys)
Package

openid-key.

Source

openid-key.lisp.

Reader: openid-key-alg (instance)
Writer: (setf openid-key-alg) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

alg.

Reader: openid-key-key (instance)
Writer: (setf openid-key-key) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

key.

Reader: openid-key-kid (instance)
Writer: (setf openid-key-kid) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

kid.

Reader: openid-key-kty (instance)
Writer: (setf openid-key-kty) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

kty.

Function: openid-key-p (object)
Package

openid-key.

Source

openid-key.lisp.

Reader: openid-key-use (instance)
Writer: (setf openid-key-use) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

use.

Reader: openid-keys-issuer (instance)
Writer: (setf openid-keys-issuer) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

issuer.

Reader: openid-keys-jwks-expires (instance)
Writer: (setf openid-keys-jwks-expires) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

jwks-expires.

Reader: openid-keys-keys (instance)
Writer: (setf openid-keys-keys) (instance)
Package

openid-key.

Source

openid-key.lisp.

Target Slot

keys.

Function: openid-keys-p (object)
Package

openid-key.

Source

openid-key.lisp.


6.2.2 Structures

Structure: openid-key
Package

openid-key.

Source

openid-key.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: kty
Readers

openid-key-kty.

Writers

(setf openid-key-kty).

Slot: use
Readers

openid-key-use.

Writers

(setf openid-key-use).

Slot: alg
Readers

openid-key-alg.

Writers

(setf openid-key-alg).

Slot: kid
Readers

openid-key-kid.

Writers

(setf openid-key-kid).

Slot: key
Readers

openid-key-key.

Writers

(setf openid-key-key).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
B   C   F   G   I   J   M   O  
Index Entry  Section

(
(setf openid-key-alg): Private ordinary functions
(setf openid-key-key): Private ordinary functions
(setf openid-key-kid): Private ordinary functions
(setf openid-key-kty): Private ordinary functions
(setf openid-key-use): Private ordinary functions
(setf openid-keys-issuer): Private ordinary functions
(setf openid-keys-jwks-expires): Private ordinary functions
(setf openid-keys-keys): Private ordinary functions

B
b64-integer: Private ordinary functions

C
config-endpoint: Private ordinary functions
copy-openid-key: Private ordinary functions
copy-openid-keys: Private ordinary functions

F
find-openid-key: Public ordinary functions
Function, (setf openid-key-alg): Private ordinary functions
Function, (setf openid-key-key): Private ordinary functions
Function, (setf openid-key-kid): Private ordinary functions
Function, (setf openid-key-kty): Private ordinary functions
Function, (setf openid-key-use): Private ordinary functions
Function, (setf openid-keys-issuer): Private ordinary functions
Function, (setf openid-keys-jwks-expires): Private ordinary functions
Function, (setf openid-keys-keys): Private ordinary functions
Function, b64-integer: Private ordinary functions
Function, config-endpoint: Private ordinary functions
Function, copy-openid-key: Private ordinary functions
Function, copy-openid-keys: Private ordinary functions
Function, find-openid-key: Public ordinary functions
Function, get-expires: Private ordinary functions
Function, get-openid-keys: Public ordinary functions
Function, issuer-endpoint: Private ordinary functions
Function, jwk-key: Private ordinary functions
Function, make-openid-key: Private ordinary functions
Function, make-openid-keys: Private ordinary functions
Function, openid-key-alg: Private ordinary functions
Function, openid-key-key: Private ordinary functions
Function, openid-key-kid: Private ordinary functions
Function, openid-key-kty: Private ordinary functions
Function, openid-key-p: Private ordinary functions
Function, openid-key-use: Private ordinary functions
Function, openid-keys-issuer: Private ordinary functions
Function, openid-keys-jwks-expires: Private ordinary functions
Function, openid-keys-keys: Private ordinary functions
Function, openid-keys-p: Private ordinary functions

G
get-expires: Private ordinary functions
get-openid-keys: Public ordinary functions

I
issuer-endpoint: Private ordinary functions

J
jwk-key: Private ordinary functions

M
make-openid-key: Private ordinary functions
make-openid-keys: Private ordinary functions

O
openid-key-alg: Private ordinary functions
openid-key-key: Private ordinary functions
openid-key-kid: Private ordinary functions
openid-key-kty: Private ordinary functions
openid-key-p: Private ordinary functions
openid-key-use: Private ordinary functions
openid-keys-issuer: Private ordinary functions
openid-keys-jwks-expires: Private ordinary functions
openid-keys-keys: Private ordinary functions
openid-keys-p: Private ordinary functions