Commit graph

30 commits

Author SHA1 Message Date
bc1e590bca
docs: Documentation refresh for Ash 3.0. (#665)
* docs: Update README to new format.

* docs: tidy up docus some more.

* docs: More documentation tweaks.

* docs: Tweak readme.
2024-05-08 11:50:57 +12:00
59918e49a4
improvement: Use Ash functions instead of generated domain functions. 2024-04-09 15:43:10 +12:00
f0075e2cd3
improvement!: Update to support Ash 3.0. (#599) 2024-03-28 14:44:23 +13:00
Lars Wikman
a4f68eb9e0
feat: Add Google strategy (#474)
* feat: Add Google strategy

* fix: include Google strategy cheat sheet

* fix: Add documentation grouping for Google strategy

* chore: update formatter.

---------

Co-authored-by: James Harton <james@harton.nz>
2023-10-26 12:44:56 +13:00
Zach Daniel
82c6b6ef15 chore: remove doc_indexes 2023-09-26 23:43:36 -04:00
James Harton
12d54fa672
docs: Fix double-docs problem on ash-hq (it's actually a code issue). (#353) 2023-07-14 09:07:39 +12:00
James Harton
53ff256391
feat: OpenID Connect Strategy (#197)
* feat(AshAuthentication.Strategy.Oidc): Add OpenID Connect strategy.

* chore(CI): disable the workflow on pull request event, since it's covered by push.
2023-05-04 13:15:24 +12:00
Zach Daniel
3274087429
improvement: support multiple otp apps w/resources (#209) 2023-02-23 02:39:27 -05:00
Zach Daniel
a2bba519c0
improvement: add select_for_senders (#189)
* improvement: add select_for_senders
fix: select `hashed_password` on sign in preparation

* improvement: include metadata declaration on register action

* chore: fix typo
2023-02-12 21:15:23 +13:00
James Harton
cf3d227ef2
feat: Add new "magic link" authentication strategy. (#184) 2023-02-09 21:05:49 +13:00
James Harton
3bece5f657
improvement(Strategy.Custom): handle custom strategies as extensions. (#183)
This means that users can add their own extensions to their resources which patch the strategy (and add ons) DSLs.
2023-02-08 16:10:28 +13:00
Zach Daniel
668a9bbfd2
chore: add clear condition on release (#177)
docs: hide bullet-style docs from ash_hq
2023-02-07 09:30:39 +13:00
Zach Daniel
a08a533ae5
fix: resources can appear in multiple apis, so we need to uniq them here (#169) 2023-01-31 12:10:58 +13:00
James Harton
7e639e4a21
feat: Add support and documentation for custom strategies. (#154) 2023-01-30 13:16:37 +13:00
Zach Daniel
6321a9baa6
improvement: update ash & switch to new docs patterns (#146) 2023-01-18 02:13:30 -05:00
Zach Daniel
999bec00ee
improvement: add policy utilities and accompanying guide (#119)
* improvement: add policy utilities and accompanying guide
fix: improve some error message/validation logic

* chore: update castore & fix check definition

* improvement: fix build/warnings/dialyzer/format

* chore: add private context to new `get_token` action.

* chore: fix build.

I'd rather have the warning than a build failure.

Co-authored-by: James Harton <james@harton.nz>
2023-01-12 15:34:41 +13:00
James Harton
d5c5d6b6c5
feat: Add token-required-for-authentication feature. (#116)
* Adds the `require_token_presence_for_authentication?` DSL option to the Authentication extension which when enabled changes the following behaviour:
  1. The `store_in_session` plug will store the user's token rather than their subject in the session.
  2. The `retrieve_from_session` plug will look for a stored token in the session rather than a subject and ensure that it's present in the `TokenResource`.
  3. The `retrieve_from_bearer` plug will ensure that the token is present in the `TokenResource`.
* Adds the `get_token` action to the `TokenResource`.
2023-01-11 15:12:53 +13:00
Bruno Ripa
ceb5cdcfae
docs: fixed the strategy example in the Usage section of README.md. (#108) 2022-12-23 15:34:41 -05:00
Zach Daniel
69652e58a9 improvement: update to latest ash version
docs: use spark doc link replacements to render on hex & ash_hq
2022-12-08 00:39:22 -05:00
James Harton
029655ed71
fix: break potential compiler dependency loops. (#64) 2022-12-08 11:50:50 +13:00
James Harton
54122cb15f
improvement(supervisor): require that the user adds the supervisor to their OTP app. (#62)
Closes #60 and #57.
2022-12-05 15:40:44 +13:00
James Harton
2cee21c9ed
improvement(actions): All actions now take optional arguments for the underlying API call. (#61)
Closes #37.
2022-12-05 13:04:42 +13:00
James Harton
e88a516b22
improvement(Confirmation): Confirmation is not a strategy. (#46)
* improvement(Confirmation): Confirmation is not a strategy.

* improvement(Confirmation): Support more than one confirmation entity.

* chore: move FIXME doc to issue.
2022-11-24 16:40:15 +13:00
James Harton
1c8f138c67
improvement!: Major redesign of DSL and code structure. (#35)
Highlights:

* Replaced `AshAuthentication.Provider` with the much more flexible `AshAuthentication.Strategy`.
* Moved strategies to within the `authentication` DSL using entities and removed excess extensions.
* Added a lot more documentation and test coverage.
2022-11-23 09:09:41 +13:00
James Harton
c5f589058e
feat(OAuth2Authentication): Add support for generic OAuth2 endpoints. (#28) 2022-11-10 14:47:06 +13:00
James Harton
0eca3274f0
feat(PasswordReset): allow users to request and reset their password. (#22) 2022-11-02 18:18:20 +13:00
James Harton
8797005175
feat(Ash.PlugHelpers): Support standard actor configuration. (#16)
* improvement(docs): change all references to `actor` to `user`.

The word "actor" has special meaning in the Ash ecosystem.

* chore: format `dev` directory also.

* feat(Ash.PlugHelpers): Support standard actor configuration.

* Adds the `:set_actor` plug which will set the actor to a resource based on the subject name.
* Also includes GraphQL and JSON:API interfaces in the devserver for testing.
2022-10-31 16:43:00 +13:00
e0f0a8d257 chore(docs): improve documentation. 2022-10-25 20:32:57 +13:00
James Harton
a939dde9b9
feat(PasswordAuthentication): Registration and authentication with local credentials (#4)
This is missing a bunch of features that you probably want to use (eg confirmation, password resets), but it's a pretty good place to put a stake in the sand and say it works.
2022-10-25 11:07:07 +13:00
17891fceda chore: Initial empty mix new. 2022-09-28 09:54:05 +13:00