Backplane.Oauth.Openid.Application behaviour (backplane_oauth v1.10.77)

Copy Markdown View Source

Implement this behaviour in the application layer of your OpenID Connect provider. This behaviour gives all callbacks triggered invoking Backplane.Oauth.Openid module functions.

Note: This behaviour is split into Backplane.Oauth.Openid.JwksApplication and Backplane.Oauth.Openid.UserinfoApplication providing utilities to implement the different OpenID Connect endpoints independently.

Summary

Callbacks

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.register_client/3

This function will be triggered in case of success invoking Backplane.Oauth.Openid.jwks/2

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.register_client/3

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.userinfo/2

This function will be triggered in case of success invoking Backplane.Oauth.Openid.userinfo/2

Callbacks

client_registered(conn, client)

@callback client_registered(conn :: Plug.Conn.t(), client :: Backplane.Oauth.Client.t()) ::
  any()

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.register_client/3

jwk_list(conn, jwk_keys)

@callback jwk_list(
  conn :: Plug.Conn.t(),
  jwk_keys :: [%JOSE.JWK{fields: term(), keys: term(), kty: term()}]
) :: any()

This function will be triggered in case of success invoking Backplane.Oauth.Openid.jwks/2

registration_failure(conn, changeset)

@callback registration_failure(conn :: Plug.Conn.t(), changeset :: Ecto.Changeset.t()) ::
  any()

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.register_client/3

unauthorized(conn, error)

@callback unauthorized(conn :: Plug.Conn.t(), error :: Backplane.Oauth.Error.t()) :: any()

This function will be triggered when request is unauthorized invoking Backplane.Oauth.Openid.userinfo/2

userinfo_fetched(conn, userinfo)

@callback userinfo_fetched(conn :: Plug.Conn.t(), userinfo :: map()) :: any()

This function will be triggered in case of success invoking Backplane.Oauth.Openid.userinfo/2