-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Update Confirmation Tutorial docs (#741)
* Add missing Swoosh imports * Cast email to string * Fix token vars * Add missing require_atomic * Fix copy & paste naming mistake * Change token to confirm for confirm new user url
- Loading branch information
1 parent
58ee13a
commit f6c2ae6
Showing
1 changed file
with
10 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -67,10 +67,11 @@ Next we will define our "sender" module using `Swoosh`: | |
```elixir | ||
defmodule MyApp.NewUserConfirmationSender do | ||
use AshAuthentication.Sender | ||
import Swoosh.Email | ||
|
||
def send(user, token, _opts) do | ||
def send(user, confirm, _opts) do | ||
new() | ||
|> to(user.email) | ||
|> to(to_string(user.email)) | ||
|> from({"MyApp Admin", "[email protected]"}) | ||
|> subject("Confirm your email address") | ||
|> html_body(""" | ||
|
@@ -81,7 +82,7 @@ defmodule MyApp.NewUserConfirmationSender do | |
If it was you, then please click the link below to confirm your identity. If you did not initiate this request then please ignore this email. | ||
</p> | ||
<p> | ||
<a href="https://myapp.inc/auth/user/confirm_new_user?#{URI.encode_query(token: @token)}">Click here to confirm your account</a> | ||
<a href="https://myapp.inc/auth/user/confirm_new_user?#{URI.encode_query(confirm: confirm)}">Click here to confirm your account</a> | ||
</p> | ||
""") | ||
|> MyApp.Mailer.deliver() | ||
|
@@ -124,12 +125,13 @@ end | |
Next, let's define our new sender: | ||
|
||
```elixir | ||
defmodule MyApp.NewUserConfirmationSender do | ||
defmodule MyApp.EmailChangeConfirmationSender do | ||
use AshAuthentication.Sender | ||
import Swoosh.Email | ||
|
||
def send(user, token, _opts) do | ||
new() | ||
|> to(user.email) | ||
|> to(to_string(user.email)) | ||
|> from({"MyApp Admin", "[email protected]"}) | ||
|> subject("Confirm your new email address") | ||
|> html_body(""" | ||
|
@@ -139,7 +141,7 @@ defmodule MyApp.NewUserConfirmationSender do | |
You recently changed your email address on <a href="https://myapp.inc">MyApp</a>. Please confirm it. | ||
</p> | ||
<p> | ||
<a href="https://myapp.inc/auth/user/confirm_change?#{URI.encode_query(token: @token)}">Click here to confirm your new email address</a> | ||
<a href="https://myapp.inc/auth/user/confirm_change?#{URI.encode_query(token: token)}">Click here to confirm your new email address</a> | ||
</p> | ||
""") | ||
|> MyApp.Mailer.deliver() | ||
|
@@ -168,7 +170,8 @@ defmodule MyApp.Accounts.User do | |
|
||
update :confirm_change do | ||
argument :confirm, :string, allow_nil?: false, public?: true | ||
|
||
accept [:email] | ||
require_atomic? false | ||
change AshAuthentication.AddOn.Confirmation.ConfirmChange | ||
change AshAuthentication.GenerateTokenChange | ||
change MyApp.UpdateCrmSystem, only_when_valid?: true | ||
|