From 6a1cf9ee847ecd82713a6380d720b51202f6b8c8 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Thu, 15 Dec 2022 04:01:04 -0500 Subject: [PATCH] improvement: docs updates --- .../getting-started-with-authentication.md} | 2 +- ...grating-ash-authentication-and-phoenix.md} | 2 +- lib/ash_authentication/spark_doc_index.ex | 37 ++++++++++--------- mix.exs | 13 ++----- mix.lock | 6 +-- 5 files changed, 28 insertions(+), 32 deletions(-) rename documentation/{getting_started/getting_started_01_basic_setup.md => tutorials/getting-started-with-authentication.md} (98%) rename documentation/{getting_started/getting_started_02_phoenix.md => tutorials/integrating-ash-authentication-and-phoenix.md} (99%) diff --git a/documentation/getting_started/getting_started_01_basic_setup.md b/documentation/tutorials/getting-started-with-authentication.md similarity index 98% rename from documentation/getting_started/getting_started_01_basic_setup.md rename to documentation/tutorials/getting-started-with-authentication.md index 43bc4fb..8a96771 100644 --- a/documentation/getting_started/getting_started_01_basic_setup.md +++ b/documentation/tutorials/getting-started-with-authentication.md @@ -195,7 +195,7 @@ Now we have enough in place to register and sign-in users using the ## Plugs and routing If you're using Phoenix, then you can skip this section and go straight to -{{link:ash_authentication:guide:getting_started_02_phoenix|Using with Phoenix}} +{{link:ash_authentication:guide:integrating-ash-authentication-and-phoenix|Integrating Ash Authentication and Phoenix}} In order for your users to be able to sign in, you will likely need to provide an HTTP endpoint to submit credentials or OAuth requests to. Ash Authentication diff --git a/documentation/getting_started/getting_started_02_phoenix.md b/documentation/tutorials/integrating-ash-authentication-and-phoenix.md similarity index 99% rename from documentation/getting_started/getting_started_02_phoenix.md rename to documentation/tutorials/integrating-ash-authentication-and-phoenix.md index baacc5d..b61c1ae 100644 --- a/documentation/getting_started/getting_started_02_phoenix.md +++ b/documentation/tutorials/integrating-ash-authentication-and-phoenix.md @@ -1,4 +1,4 @@ -# Using with Phoenix +# Integrating Ash Authentication and Phoenix This guide assumes that you already have an Phoenix application set up with Ash. If you don't then check out the [Phoenix topic on Ash diff --git a/lib/ash_authentication/spark_doc_index.ex b/lib/ash_authentication/spark_doc_index.ex index e07729a..91cd4b3 100644 --- a/lib/ash_authentication/spark_doc_index.ex +++ b/lib/ash_authentication/spark_doc_index.ex @@ -44,23 +44,26 @@ defmodule AshAuthentication.SparkDocIndex do @spec code_modules :: [{String.t(), [module]}] def code_modules do [ - {"Authentication", - [ - AshAuthentication, - AshAuthentication.Info, - AshAuthentication.TokenResource, - AshAuthentication.Supervisor - ]}, - {"Strategies", - [ - AshAuthentication.Strategy, - AshAuthentication.Strategy.Password, - AshAuthentication.Strategy.OAuth2 - ]}, - {"Add Ons", - [ - AshAuthentication.AddOn.Confirmation - ]} + Authentication: [ + AshAuthentication, + AshAuthentication.Info, + AshAuthentication.TokenResource, + AshAuthentication.Supervisor + ], + Strategies: [ + AshAuthentication.Strategy, + AshAuthentication.Strategy.Password, + AshAuthentication.Strategy.OAuth2 + ], + "Add Ons": [ + AshAuthentication.AddOn.Confirmation + ], + Cryptography: [ + AshAuthentication.HashProvider, + AshAuthentication.BcryptProvider, + AshAuthentication.Jwt + ], + Plug: ~r/^AshAuthentication\.Plug.*/ ] end end diff --git a/mix.exs b/mix.exs index a369421..08dda4f 100644 --- a/mix.exs +++ b/mix.exs @@ -63,15 +63,8 @@ defmodule AshAuthentication.MixProject do "README.md" -> {:"README.md", title: "Read Me"} - "documentation/getting_started/" <> rest = path -> - [_, number, name] = - ~r/getting_started_(\d+)_(\w+).md/ - |> Regex.run(rest) - - number = String.to_integer(number) - name = name |> String.split(~r/_+/) |> Enum.join(" ") |> String.capitalize() - - {String.to_atom(path), [title: "#{number}. #{name}"]} + "documentation/tutorials/" <> _ = path -> + {String.to_atom(path), []} end) end @@ -122,7 +115,7 @@ defmodule AshAuthentication.MixProject do defp deps do [ {:ash, ash_version("~> 2.4")}, - {:spark, "~> 0.2.12"}, + {:spark, "~> 0.3"}, {:jason, "~> 1.4"}, {:joken, "~> 2.5"}, {:plug, "~> 1.13"}, diff --git a/mix.lock b/mix.lock index 3603bf5..9137e7b 100644 --- a/mix.lock +++ b/mix.lock @@ -1,7 +1,7 @@ %{ "absinthe": {:hex, :absinthe, "1.7.0", "36819e7b1fd5046c9c734f27fe7e564aed3bda59f0354c37cd2df88fd32dd014", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0 or ~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "566a5b5519afc9b29c4d367f0c6768162de3ec03e9bf9916f9dc2bcbe7c09643"}, "absinthe_plug": {:hex, :absinthe_plug, "1.5.8", "38d230641ba9dca8f72f1fed2dfc8abd53b3907d1996363da32434ab6ee5d6ab", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bbb04176647b735828861e7b2705465e53e2cf54ccf5a73ddd1ebd855f996e5a"}, - "ash": {:hex, :ash, "2.4.24", "fb74aaf9ee8d9c8397c1c57d2d2ebf48cc0b3a933736eab66b25cea72826ac9f", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: true]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8.0", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: false]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:spark, "~> 0.2.18", [hex: :spark, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.5.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e1b7ac0cf41af75f954bfb9500d1aeb54e4b3b34ec41dbe71c685b92ef8304ae"}, + "ash": {:hex, :ash, "2.4.26", "b5b3821c77d274a0dc7bfd451b7cc759122306913b0fc2389bdea96a1425765d", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: true]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8.0", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: false]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:spark, "~> 0.3", [hex: :spark, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.5.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a5be0841ddb577dbbb3f17637ae3652e0a2edcbf7b3a9b916d0976c60458c9c8"}, "ash_graphql": {:hex, :ash_graphql, "0.22.3", "0acfe6391c21ea8b868bd01dd87166fdc56c9409e766f451a0740dc922f190ca", [:mix], [{:absinthe, "~> 1.7", [hex: :absinthe, repo: "hexpm", optional: false]}, {:absinthe_plug, "~> 1.4", [hex: :absinthe_plug, repo: "hexpm", optional: false]}, {:ash, "~> 2.4", [hex: :ash, repo: "hexpm", optional: false]}, {:dataloader, "~> 1.0", [hex: :dataloader, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f6f23f05a77f4c0482f42b2cb33c71294fc562e17544c89b2803c4197b045257"}, "ash_json_api": {:hex, :ash_json_api, "0.30.1", "54e60c4862eee35ed8a9a925e5c99be2b80e36a2507355bdb0f0974defe82a8d", [:mix], [{:ash, "~> 2.0", [hex: :ash, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:json_xema, "~> 0.4.0", [hex: :json_xema, repo: "hexpm", optional: false]}, {:plug, "~> 1.11", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "b8b4827aa02de75a9a48d2941e813947da46b7dbfdd84cd20959dbaec103f830"}, "ash_postgres": {:hex, :ash_postgres, "1.2.1", "b4dfcda819e18e64c5d97bb23589e2d248f2fae303309aa766b46ebfdd655ae9", [:mix], [{:ash, ">= 2.4.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}], "hexpm", "824441b3b01cada477a5a81d08aa4409b365bb447720132edde65679da2f6a2b"}, @@ -26,7 +26,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, "ecto": {:hex, :ecto, "3.9.2", "017db3bc786ff64271108522c01a5d3f6ba0aea5c84912cfb0dd73bf13684108", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21466d5177e09e55289ac7eade579a642578242c7a3a9f91ad5c6583337a9d15"}, "ecto_sql": {:hex, :ecto_sql, "3.9.1", "9bd5894eecc53d5b39d0c95180d4466aff00e10679e13a5cfa725f6f85c03c22", [:mix], [{:db_connection, "~> 2.5 or ~> 2.4.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fd470a4fff2e829bbf9dcceb7f3f9f6d1e49b4241e802f614de6b8b67c51118"}, - "elixir_make": {:hex, :elixir_make, "0.7.1", "314f2a5450254db0446ba94cc1ba12a25b83b457f24aa9cc21c128cead5d03aa", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "0f1ad4787b4d7489563351cbf85c9221a852f5441364a2cb3ffd36f2fda7f7fb"}, + "elixir_make": {:hex, :elixir_make, "0.7.2", "e83548b0500e654d1a595f1134af4862a2e92ec3282ec4c2a17641e9aa45ee73", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "05fb44abf9582381c2eb1b73d485a55288c581071de0ee3ee1084ee69d6a8e5f"}, "elixir_sense": {:git, "https://github.com/elixir-lsp/elixir_sense.git", "af9cb576d6fbb41a0c1e6196f20fd6e996299a1e", []}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ets": {:hex, :ets, "0.8.1", "8ff9bcda5682b98493f8878fc9dbd990e48d566cba8cce59f7c2a78130da29ea", [:mix], [], "hexpm", "6be41b50adb5bc5c43626f25ea2d0af1f4a242fb3fad8d53f0c67c20b78915cc"}, @@ -57,7 +57,7 @@ "providers": {:hex, :providers, "1.8.1", "70b4197869514344a8a60e2b2a4ef41ca03def43cfb1712ecf076a0f3c62f083", [:rebar3], [{:getopt, "1.0.1", [hex: :getopt, repo: "hexpm", optional: false]}], "hexpm", "e45745ade9c476a9a469ea0840e418ab19360dc44f01a233304e118a44486ba0"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "sourceror": {:hex, :sourceror, "0.11.2", "549ce48be666421ac60cfb7f59c8752e0d393baa0b14d06271d3f6a8c1b027ab", [:mix], [], "hexpm", "9ab659118896a36be6eec68ff7b0674cba372fc8e210b1e9dc8cf2b55bb70dfb"}, - "spark": {:hex, :spark, "0.2.18", "4f0bc3860682317911d10aee97c4818d3d5ed700f646a87ee1ea6e4a65650f33", [:mix], [{:nimble_options, "~> 0.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "fc2c0bb7556cfa60c97b7bdf9f83ef85b366ba697a006abe3083dccb0a6adf88"}, + "spark": {:hex, :spark, "0.3.0", "86a56daf6a433f7d135f5e17eeecc8684e39ade1095fcce0e6e98c2ec557dffd", [:mix], [{:nimble_options, "~> 0.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "16d03b802a39cea482cb7972d820c152ff8dd71c8445f1a0c1bc97cee1388d0a"}, "stream_data": {:hex, :stream_data, "0.5.0", "b27641e58941685c75b353577dc602c9d2c12292dd84babf506c2033cd97893e", [:mix], [], "hexpm", "012bd2eec069ada4db3411f9115ccafa38540a3c78c4c0349f151fc761b9e271"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, "typable": {:hex, :typable, "0.3.0", "0431e121d124cd26f312123e313d2689b9a5322b15add65d424c07779eaa3ca1", [:mix], [], "hexpm", "880a0797752da1a4c508ac48f94711e04c86156f498065a83d160eef945858f8"},