Skip to content

Commit

Permalink
docs: Update Confirmation Tutorial docs (#741)
Browse files Browse the repository at this point in the history
* 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
dan-klasson committed Jul 14, 2024
1 parent 58ee13a commit f6c2ae6
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions documentation/tutorials/confirmation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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("""
Expand All @@ -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()
Expand Down Expand Up @@ -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("""
Expand All @@ -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()
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit f6c2ae6

Please sign in to comment.