Module Oidc.Scopes

https://openid.net/specs/openid-connect-basic-1_0.html#Scopes

type t = [
  1. | `OpenID
    (*

    REQUIRED. Informs the Authorization Server that the Client is making an OpenID Connect request. If the openid scope value is not present, the behavior is entirely unspecified.

    *)
  2. | `Profile
    (*

    OPTIONAL. This scope value requests access to the End-User's default profile Claims, which are: name, family_name, given_name, middle_name, nickname, preferred_username, profile, picture, website, gender, birthdate, zoneinfo, locale, and updated_at.

    *)
  3. | `Email
    (*

    OPTIONAL. This scope value requests access to the email and email_verified Claims.

    *)
  4. | `Address
    (*

    OPTIONAL. This scope value requests access to the address Claim.

    *)
  5. | `Phone
    (*

    OPTIONAL. This scope value requests access to the phone_number and phone_number_verified Claims.

    *)
  6. | `Offline_access
    (*

    OPTIONAL. This scope value requests that an OAuth 2.0 Refresh Token be issued that can be used to obtain an Access Token that grants access to the End-User's UserInfo Endpoint even when the End-User is not present (not logged in).

    *)
  7. | `S of string
]

REQUIRED and optional are just for OpenID connect, OAuth2 doesn't have any defiend scopes

val of_string : string -> t
val to_string : t -> string
val of_scope_parameter : string -> t list
val to_scope_parameter : t list -> string