The openid-key Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The openid-key Reference Manual

This is the openid-key Reference Manual, version 0.1.1, generated automatically by Declt version 2.4 patchlevel 1 "Will Decker" on Fri May 24 09:30:08 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Openid-Key

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

OpedID Key format has defined in JSON Web Key (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 for verify id-token.

Installation


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 openid-key

Author

Koga Kazuo

License

MIT

Description

Get OpenID keys from issuer.

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
Source

openid-key.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

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


Previous: , Up: Modules   [Contents][Index]

3.1 openid-key/src

Parent

openid-key (system)

Location

src/

Component

openid-key.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 openid-key.asd

Location

openid-key.asd

Systems

openid-key (system)


Previous: , Up: Lisp files   [Contents][Index]

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

Parent

src (module)

Location

src/openid-key.lisp

Packages

openid-key

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 openid-key

Source

openid-key.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Functions

Function: find-openid-key KID KEYS

Find key by key id from keys, or nil

Package

openid-key

Source

openid-key.lisp (file)

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 (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Structures

Structure: openid-keys ()
Package

openid-key

Source

openid-key.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: issuer
Readers

openid-keys-issuer (function)

Writers

(setf openid-keys-issuer) (function)

Slot: jwks-expires
Readers

openid-keys-jwks-expires (function)

Writers

(setf openid-keys-jwks-expires) (function)

Slot: keys
Readers

openid-keys-keys (function)

Writers

(setf openid-keys-keys) (function)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Functions

Function: b64-integer S
Package

openid-key

Source

openid-key.lisp (file)

Function: config-endpoint ENDPOINT
Package

openid-key

Source

openid-key.lisp (file)

Function: copy-openid-key INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: copy-openid-keys INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: get-expires HEADERS
Package

openid-key

Source

openid-key.lisp (file)

Function: issuer-endpoint ISSUER
Package

openid-key

Source

openid-key.lisp (file)

Function: jwk-key JWK
Package

openid-key

Source

openid-key.lisp (file)

Function: make-openid-key &key (KTY KTY) (USE USE) (ALG ALG) (KID KID) (KEY KEY)
Package

openid-key

Source

openid-key.lisp (file)

Function: make-openid-keys &key (ISSUER ISSUER) (JWKS-EXPIRES JWKS-EXPIRES) (KEYS KEYS)
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-alg INSTANCE
Function: (setf openid-key-alg) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-key INSTANCE
Function: (setf openid-key-key) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-kid INSTANCE
Function: (setf openid-key-kid) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-kty INSTANCE
Function: (setf openid-key-kty) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-p OBJECT
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-key-use INSTANCE
Function: (setf openid-key-use) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-keys-issuer INSTANCE
Function: (setf openid-keys-issuer) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-keys-jwks-expires INSTANCE
Function: (setf openid-keys-jwks-expires) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-keys-keys INSTANCE
Function: (setf openid-keys-keys) VALUE INSTANCE
Package

openid-key

Source

openid-key.lisp (file)

Function: openid-keys-p OBJECT
Package

openid-key

Source

openid-key.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Structures

Structure: openid-key ()
Package

openid-key

Source

openid-key.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: kty
Readers

openid-key-kty (function)

Writers

(setf openid-key-kty) (function)

Slot: use
Readers

openid-key-use (function)

Writers

(setf openid-key-use) (function)

Slot: alg
Readers

openid-key-alg (function)

Writers

(setf openid-key-alg) (function)

Slot: kid
Readers

openid-key-kid (function)

Writers

(setf openid-key-kid) (function)

Slot: key
Readers

openid-key-key (function)

Writers

(setf openid-key-key) (function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M   O  
Index Entry  Section

F
File, Lisp, openid-key.asd: The openid-key<dot>asd file
File, Lisp, openid-key/src/openid-key.lisp: The openid-key/src/openid-key<dot>lisp file

L
Lisp File, openid-key.asd: The openid-key<dot>asd file
Lisp File, openid-key/src/openid-key.lisp: The openid-key/src/openid-key<dot>lisp file

M
Module, openid-key/src: The openid-key/src module

O
openid-key.asd: The openid-key<dot>asd file
openid-key/src: The openid-key/src module
openid-key/src/openid-key.lisp: The openid-key/src/openid-key<dot>lisp file

Jump to:   F   L   M   O  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

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

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

B
b64-integer: Internal functions

C
config-endpoint: Internal functions
copy-openid-key: Internal functions
copy-openid-keys: Internal functions

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

G
get-expires: Internal functions
get-openid-keys: Exported functions

I
issuer-endpoint: Internal functions

J
jwk-key: Internal functions

M
make-openid-key: Internal functions
make-openid-keys: Internal functions

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

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

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   A   I   J   K   S   U  
Index Entry  Section

A
alg: Internal structures

I
issuer: Exported structures

J
jwks-expires: Exported structures

K
key: Internal structures
keys: Exported structures
kid: Internal structures
kty: Internal structures

S
Slot, alg: Internal structures
Slot, issuer: Exported structures
Slot, jwks-expires: Exported structures
Slot, key: Internal structures
Slot, keys: Exported structures
Slot, kid: Internal structures
Slot, kty: Internal structures
Slot, use: Internal structures

U
use: Internal structures

Jump to:   A   I   J   K   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   O   P   S  
Index Entry  Section

O
openid-key: The openid-key system
openid-key: The openid-key package
openid-key: Internal structures
openid-keys: Exported structures

P
Package, openid-key: The openid-key package

S
Structure, openid-key: Internal structures
Structure, openid-keys: Exported structures
System, openid-key: The openid-key system

Jump to:   O   P   S