The use of JWT authentication for the `/api/user` API is being deprecated. This functionality will be removed in a future release.
@@ -2384,4 +2506,3 @@ The `/` path of FusionAuth no longer automatically forwards to the admin login.
### Client libraries
* Enhancements to the .NET Core client library to better support requests in a multi-tenant environment and to use the `IDictionary` reference instead of `Dictionary`.
* Resolves [GitHub Issue #1049](https://github.com/FusionAuth/fusionauth-issues/issues/1049) and [GitHub Issue #1050](https://github.com/FusionAuth/fusionauth-issues/issues/1050), thanks to [@atrauzzi](https://github.com/atrauzzi) for sharing his .NET Core expertise!
-
diff --git a/astro/src/content/json/exampleapps.json b/astro/src/content/json/exampleapps.json
index 0eade9997d..536279ce77 100644
--- a/astro/src/content/json/exampleapps.json
+++ b/astro/src/content/json/exampleapps.json
@@ -574,5 +574,11 @@
"name": "AWS CloudFront redirect to URL",
"description": "This example documents how to use a AWS CloudFront Function to redirect to country-specific URLs, such as a FusionAuth instance.",
"language": "javascript"
+ },
+ {
+ "url": "https://github.com/FusionAuth/fusionauth-example-ruby-on-rails-custom-scopes",
+ "name": "Ruby on Rails with Custom Scopes",
+ "description": "This example application shows how to implement Custom Scopes with FusionAuth.",
+ "language": "ruby"
}
]
diff --git a/astro/src/content/json/features.json b/astro/src/content/json/features.json
index 75b8054106..4e643f655e 100644
--- a/astro/src/content/json/features.json
+++ b/astro/src/content/json/features.json
@@ -6,7 +6,7 @@
},
{
"displayName": "Advanced and Gaming Identity Providers",
- "edition": "advanced",
+ "edition": "premium",
"link": "/docs/lifecycle/authenticate-users/identity-providers/"
},
{
@@ -71,7 +71,7 @@
},
{
"displayName": "WebAuthn",
- "edition": "advanced",
+ "edition": "licensed",
"link": "/docs/lifecycle/authenticate-users/passwordless/webauthn"
},
{
diff --git a/astro/src/content/quickstarts/5-minute-sandbox.mdx b/astro/src/content/quickstarts/5-minute-sandbox.mdx
index a10992f8c7..5af28b56b5 100644
--- a/astro/src/content/quickstarts/5-minute-sandbox.mdx
+++ b/astro/src/content/quickstarts/5-minute-sandbox.mdx
@@ -78,11 +78,11 @@ After doing so you'll arrive at the sandbox dashboard.
## 3. Grant Permissions
-
+
## 4. Configure the Backend to Complete the Login
-
+
## 5. Store the User Object In The Session
diff --git a/astro/src/content/quickstarts/_5-minute-application-setup.mdx b/astro/src/content/quickstarts/_5-minute-application-setup.mdx
index 9b942630d9..2ac0f2e878 100644
--- a/astro/src/content/quickstarts/_5-minute-application-setup.mdx
+++ b/astro/src/content/quickstarts/_5-minute-application-setup.mdx
@@ -1,7 +1,7 @@
import InlineField from 'src/components/InlineField.astro';
import InlineUIElement from 'src/components/InlineUIElement.astro';
-Once you arrive in the FusionAuth admin UI, the first thing you need to do is create an Application. An Application is something that a user can log into. This is the application you are building or that you are migrating to use FusionAuth. Click the Application menu option on the left side of the page or the Setup button in the box at the top of the page.
+Once you arrive in the FusionAuth admin UI, the first thing you need to do is create an Application. An Application is something that a user can log into. This is the application you are building or that you are migrating to use FusionAuth. Click the Applications menu option on the left side of the page.
@@ -9,9 +9,10 @@ This will take you to the listing page for Applications. Next, you'll click the
-On the Application form, provide a name for your Application (this is only used for display purposes) and a couple of items on the OAuth tab. Start with a simple setup that allows existing users to log into your application. There is no need to add any roles or registration configuration.
+On the Application form, provide a name for your Application (this is only used for display purposes).
+Click on the OAuth tab.
-When you click on the OAuth tab, you'll see this form.
+When you click on the OAuth tab, you'll see this form. Start with a simple setup that allows existing users to log into your application. There is no need to add any roles or registration configuration.
@@ -22,7 +23,7 @@ Most of the defaults will work, but provide the following items.
* Make sure the Authorization Code grant is selected in the Enabled Grants.
* Set the Require registration field to `true`.
-Once you have configured the application, you'll click the blue Save button at the top of the page.
+Once you have configured the application, you'll click the blue Save button (disk) at the top of the page.
diff --git a/astro/src/content/quickstarts/_5-minute-register-user.mdx b/astro/src/content/quickstarts/_5-minute-register-user.mdx
index 4bb4df067c..441b727900 100644
--- a/astro/src/content/quickstarts/_5-minute-register-user.mdx
+++ b/astro/src/content/quickstarts/_5-minute-register-user.mdx
@@ -2,7 +2,15 @@ import Aside from 'src/components/Aside.astro';
import InlineUIElement from 'src/components/InlineUIElement.astro';
import Breadcrumb from 'src/components/Breadcrumb.astro';
-Next, grant the user you created in the Setup Wizard permissions to log into your new Application. This can be done from the User management section of the FusionAuth admin UI. Click the Users link in the navigation. If needed, search for the user.
+{ props.installmethod === 'sandbox' &&
+ Next, grant the sandbox@fusionauth.io user permissions to log into your new Application.
+}
+
+{ props.installmethod !== 'sandbox' &&
+ Next, grant the user you created in the Setup Wizard permissions to log into your new Application.
+}
+
+ This can be done from the User management section of the FusionAuth admin UI. Click the Users link in the navigation. If needed, search for the user.
Manage the user's details by clicking on the black Manage button.
@@ -24,4 +32,4 @@ FusionAuth supports self-service registration. With self-service registration en
You want to make sure your user account has a first name, which should appear under the picture.
-If they don't, use the Edit Profile button in the upper right hand corner of the user details screen to edit the account and give them one. The first name is how they'll be greeted in the application.
+If they don't, use the Edit User button in the upper right hand corner of the user details screen to edit the account and give them one. The first name is how they'll be greeted in the application.
diff --git a/.github/known-blog-categories.txt b/config/contentcheck/known-blog-categories.txt
similarity index 100%
rename from .github/known-blog-categories.txt
rename to config/contentcheck/known-blog-categories.txt
diff --git a/.github/linkcheck-skip.txt b/config/linkcheck/linkcheck-skip.txt
similarity index 100%
rename from .github/linkcheck-skip.txt
rename to config/linkcheck/linkcheck-skip.txt
diff --git a/.github/knownwords.txt b/config/spellcheck/knownwords.txt
similarity index 100%
rename from .github/knownwords.txt
rename to config/spellcheck/knownwords.txt
diff --git a/.github/vale/styles/config/vocabularies/FusionAuth/accept.txt b/config/vale/styles/config/vocabularies/FusionAuth/accept.txt
similarity index 83%
rename from .github/vale/styles/config/vocabularies/FusionAuth/accept.txt
rename to config/vale/styles/config/vocabularies/FusionAuth/accept.txt
index b37d60146d..d43ee5fd4d 100644
--- a/.github/vale/styles/config/vocabularies/FusionAuth/accept.txt
+++ b/config/vale/styles/config/vocabularies/FusionAuth/accept.txt
@@ -2,12 +2,14 @@
Aiven
anonymization
API
+auditable
authorizer
Bachman
Basecamp
[Bb]crypt
Boolean
boolean
+Caldas
CAPTCHA
[Cc]yber
[Cc]yberattack
@@ -23,6 +25,7 @@ CVE
datacenter
datastore
[Dd]ev
+deduplicate
defragmentation
deprovision
deserialize
@@ -48,6 +51,7 @@ Id
Infosec
initializer
interoperate
+Inteligov
Inversoft
ISP
Istio
@@ -111,8 +115,10 @@ SSD
Splunk
Stytch
Supabase
+Sympla
Tangany
themeable
+tooltip
Twilio
URI
virtualized
@@ -129,3 +135,25 @@ xkcd
Yubico
YubiKey
Zendesk
+Frontegg
+[Ee]nv
+Backoffice
+Mailgun
+Sinch
+Brevo
+MailerSend
+Mailchimp
+Haraka
+mailcow
+IPs
+ESPs
+untrusted
+cPanel
+Sendinblue
+spammy
+Logstash
+Kibana
+libre
+Zip[Cc]ode
+aggregatable
+stdout
diff --git a/.github/vale/styles/write-good/Cliches.yml b/config/vale/styles/write-good/Cliches.yml
similarity index 100%
rename from .github/vale/styles/write-good/Cliches.yml
rename to config/vale/styles/write-good/Cliches.yml
diff --git a/.github/vale/styles/write-good/E-Prime.yml b/config/vale/styles/write-good/E-Prime.yml
similarity index 100%
rename from .github/vale/styles/write-good/E-Prime.yml
rename to config/vale/styles/write-good/E-Prime.yml
diff --git a/.github/vale/styles/write-good/Illusions.yml b/config/vale/styles/write-good/Illusions.yml
similarity index 100%
rename from .github/vale/styles/write-good/Illusions.yml
rename to config/vale/styles/write-good/Illusions.yml
diff --git a/.github/vale/styles/write-good/Passive.yml b/config/vale/styles/write-good/Passive.yml
similarity index 100%
rename from .github/vale/styles/write-good/Passive.yml
rename to config/vale/styles/write-good/Passive.yml
diff --git a/.github/vale/styles/write-good/README.md b/config/vale/styles/write-good/README.md
similarity index 100%
rename from .github/vale/styles/write-good/README.md
rename to config/vale/styles/write-good/README.md
diff --git a/.github/vale/styles/write-good/TooWordy.yml b/config/vale/styles/write-good/TooWordy.yml
similarity index 100%
rename from .github/vale/styles/write-good/TooWordy.yml
rename to config/vale/styles/write-good/TooWordy.yml
diff --git a/.github/vale/styles/write-good/Weasel.yml b/config/vale/styles/write-good/Weasel.yml
similarity index 100%
rename from .github/vale/styles/write-good/Weasel.yml
rename to config/vale/styles/write-good/Weasel.yml
diff --git a/.github/vale/styles/write-good/meta.json b/config/vale/styles/write-good/meta.json
similarity index 100%
rename from .github/vale/styles/write-good/meta.json
rename to config/vale/styles/write-good/meta.json
diff --git a/.github/scripts/.gitignore b/src/scripts/.gitignore
similarity index 100%
rename from .github/scripts/.gitignore
rename to src/scripts/.gitignore
diff --git a/.github/scripts/count-repos.sh b/src/scripts/count-repos.sh
similarity index 97%
rename from .github/scripts/count-repos.sh
rename to src/scripts/count-repos.sh
index 2ebe39f0f7..ac4860cf97 100755
--- a/.github/scripts/count-repos.sh
+++ b/src/scripts/count-repos.sh
@@ -34,7 +34,8 @@ function get_json_repos() {
# Repos that will be returned by the `gh` commands below, but are
# intentionally excluded from JSONFILE for... reasons?
local EXCLUDE=(
- "fusionauth-example-ruby-on-rails-custom-scopes"
+ "fusionauth-example-example-qr-codes"
+ "fusionauth-example-node-centralized-sessions"
"fusionauth-example-template"
"fusionauth-example-vue-sdk"
"fusionauth-quickstart-kotlin-android-native"
diff --git a/.github/scripts/publish_sitemap/package-lock.json b/src/scripts/publish_sitemap/package-lock.json
similarity index 100%
rename from .github/scripts/publish_sitemap/package-lock.json
rename to src/scripts/publish_sitemap/package-lock.json
diff --git a/.github/scripts/publish_sitemap/package.json b/src/scripts/publish_sitemap/package.json
similarity index 100%
rename from .github/scripts/publish_sitemap/package.json
rename to src/scripts/publish_sitemap/package.json
diff --git a/.github/scripts/publish_sitemap/publish_sitemap.js b/src/scripts/publish_sitemap/publish_sitemap.js
similarity index 100%
rename from .github/scripts/publish_sitemap/publish_sitemap.js
rename to src/scripts/publish_sitemap/publish_sitemap.js
diff --git a/.github/scripts/setup.sh b/src/scripts/setup.sh
similarity index 100%
rename from .github/scripts/setup.sh
rename to src/scripts/setup.sh