mirror of
https://github.com/team-alembic/ash_authentication.git
synced 2024-09-20 13:24:20 +12:00
9b9f11c3f0
* chore(deps): Bump the production-dependencies group across 1 directory with 4 updates Bumps the production-dependencies group with 2 updates in the / directory: [ash](https://github.com/ash-project/ash) and [ash_postgres](https://github.com/ash-project/ash_postgres). Updates `ash` from 3.0.16 to 3.3.2 - [Changelog](https://github.com/ash-project/ash/blob/main/CHANGELOG.md) - [Commits](https://github.com/ash-project/ash/compare/v3.0.16...v3.3.2) Updates `ash_postgres` from 2.0.12 to 2.1.17 - [Changelog](https://github.com/ash-project/ash_postgres/blob/main/CHANGELOG.md) - [Commits](https://github.com/ash-project/ash_postgres/compare/v2.0.12...v2.1.17) Updates `jason` from 1.4.3 to 1.4.4 - [Release notes](https://github.com/michalmuskala/jason/releases) - [Changelog](https://github.com/michalmuskala/jason/blob/v1.4.4/CHANGELOG.md) - [Commits](https://github.com/michalmuskala/jason/compare/v1.4.3...v1.4.4) Updates `spark` from 2.2.7 to 2.2.11 - [Changelog](https://github.com/ash-project/spark/blob/main/CHANGELOG.md) - [Commits](https://github.com/ash-project/spark/compare/v2.2.7...v2.2.11) --- updated-dependencies: - dependency-name: ash dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: ash_postgres dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: jason dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: spark dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * chore: fix formatting, etc. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James Harton <james@harton.nz>
5.8 KiB
5.8 KiB
DSL: AshAuthentication.Strategy.Auth0
Strategy for authenticating using Auth0.
This strategy builds on-top of AshAuthentication.Strategy.OAuth2
and
assent
.
In order to use Auth0 you need to provide the following minimum configuration:
client_id
redirect_uri
client_secret
site
More documentation:
- The Auth0 Tutorial.
- The OAuth2 documentation
authentication.strategies.auth0
auth0 name \\ :auth0
Provides a pre-configured authentication strategy for Auth0.
This strategy is built using the :oauth2
strategy, and thus provides all the same
configuration options should you need them.
More documentation:
- The Auth0 Tutorial.
- The OAuth2 documentation
Strategy defaults:
The following defaults are applied:
:authorize_url
is set to"/authorize"
.:token_url
is set to"/oauth/token"
.:user_url
is set to"/userinfo"
.:authorization_params
is set to[scope: "openid profile email"]
.:auth_method
is set to:client_secret_post
.
Arguments
Name | Type | Default | Docs |
---|---|---|---|
name {: #authentication-strategies-auth0-name .spark-required} |
atom |
Uniquely identifies the strategy. |
Options
Name | Type | Default | Docs |
---|---|---|---|
client_id {: #authentication-strategies-auth0-client_id .spark-required} |
(any, any -> any) | module | String.t |
The OAuth2 client ID. Takes either a module which implements the AshAuthentication.Secret behaviour, a 2 arity anonymous function or a string. |
|
redirect_uri {: #authentication-strategies-auth0-redirect_uri .spark-required} |
(any, any -> any) | module | String.t |
The callback URI base. Not the whole URI back to the callback endpoint, but the URI to your AuthPlug . Takes either a module which implements the AshAuthentication.Secret behaviour, a 2 arity anonymous function or a string. |
|
base_url {: #authentication-strategies-auth0-base_url } |
(any, any -> any) | module | String.t |
The base URL of the OAuth2 server - including the leading protocol (ie https:// ). Takes either a module which implements the AshAuthentication.Secret behaviour, a 2 arity anonymous function or a string. |
|
site {: #authentication-strategies-auth0-site } |
(any, any -> any) | module | String.t |
Deprecated: Use base_url instead. |
|
client_secret {: #authentication-strategies-auth0-client_secret } |
(any, any -> any) | module | String.t |
The OAuth2 client secret. Required if :auth_method is :client_secret_basic , :client_secret_post or :client_secret_jwt . Takes either a module which implements the AshAuthentication.Secret behaviour, a 2 arity anonymous function or a string. |
|
private_key {: #authentication-strategies-auth0-private_key } |
(any, any -> any) | module | String.t |
The private key to use if :auth_method is :private_key_jwt . Takes either a module which implements the AshAuthentication.Secret behaviour, a 2 arity anonymous function or a string. |
|
registration_enabled? {: #authentication-strategies-auth0-registration_enabled? } |
boolean |
true |
If enabled, new users will be able to register for your site when authenticating and not already present. If not, only existing users will be able to authenticate. |
register_action_name {: #authentication-strategies-auth0-register_action_name } |
atom |
The name of the action to use to register a user, if registration_enabled? is true . Defaults to register_with_<name> See the "Registration and Sign-in" section of the strategy docs for more. |
|
sign_in_action_name {: #authentication-strategies-auth0-sign_in_action_name } |
atom |
The name of the action to use to sign in an existing user, if sign_in_enabled? is true . Defaults to sign_in_with_<strategy> , which is generated for you by default. See the "Registration and Sign-in" section of the strategy docs for more information. |
|
identity_resource {: #authentication-strategies-auth0-identity_resource } |
module | false |
false |
The resource used to store user identities, or false to disable. See the User Identities section of the strategy docs for more. |
identity_relationship_name {: #authentication-strategies-auth0-identity_relationship_name } |
atom |
:identities |
Name of the relationship to the provider identities resource |
identity_relationship_user_id_attribute {: #authentication-strategies-auth0-identity_relationship_user_id_attribute } |
atom |
:user_id |
The name of the destination (user_id) attribute on your provider identity resource. Only necessary if you've changed the user_id_attribute_name option of the provider identity. |
Introspection
Target: AshAuthentication.Strategy.OAuth2