Packages
boruta
2.2.1
3.0.0-beta.4
3.0.0-beta.3
3.0.0-beta.2
3.0.0-beta.1
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.2
2.2.1
2.2.0
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
2.0.0-rc.1
2.0.0-rc.0
1.2.1
1.2.0
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.2.1
0.2.0
0.1.1
0.1.0
0.1.0-rc.5
0.1.0-rc.4
0.1.0-rc.3
0.1.0-rc.2
0.1.0-rc.1
Core of an OAuth/OpenID Connect provider enabling authorization in your applications.
Current section
Files
Jump to
Current section
Files
lib/boruta/openid/application.ex
defmodule Boruta.Openid.Application do
@moduledoc """
Implement this behaviour in the application layer of your OpenID Connect provider.
This behaviour gives all callbacks triggered invoking `Boruta.Openid` module functions.
> __Note__: This behaviour is splitted into `Boruta.Openid.JwksApplication` and `Boruta.Openid.UserinfoApplication` providing utilities to implement the different OpenID Connect endpoints independently.
"""
@doc """
This function will be triggered in case of success invoking `Boruta.Openid.jwks/2`
"""
@callback jwk_list(conn :: Plug.Conn.t(), jwk_keys :: list(%JOSE.JWK{})) ::
any()
@doc """
This function will be triggered in case of success invoking `Boruta.Openid.userinfo/2`
"""
@callback userinfo_fetched(conn :: Plug.Conn.t(), userinfo :: map()) ::
any()
@doc """
This function will be triggered when request is unauthorized invoking `Boruta.Openid.userinfo/2`
"""
@callback unauthorized(conn :: Plug.Conn.t(), error :: Boruta.Oauth.Error.t()) ::
any()
end