Module Oidc.Discover

Parsing and creating the discovery document. All fields listed here: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

type t = {
  1. issuer : Uri.t;
  2. authorization_endpoint : Uri.t;
  3. token_endpoint : Uri.t;
  4. jwks_uri : Uri.t;
  5. userinfo_endpoint : Uri.t option;
  6. registration_endpoint : Uri.t option;
  7. response_types_supported : string list;
    (*

    "code", "id_token", "token id_token"

    *)
  8. subject_types_supported : string list;
    (*

    "pairwise", "public" https://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes

    *)
  9. id_token_signing_alg_values_supported : string list;
    (*

    "RS256" must be supported

    *)
}

The discovery type can include much more than the type currently includes. Feel free to open a PR adding anything you need

type error = [
  1. | `Msg of string
]
val error_to_string : error -> string
val of_yojson : Yojson.Safe.t -> (t, [> error ]) Stdlib.result

This might change to return a result in the future

val of_string : string -> (t, [> error ]) Stdlib.result

This might change to return a result in the future

val to_yojson : t -> Yojson.Safe.t