diff --git a/.github/workflows/vale-check.yml b/.github/workflows/vale-check.yml new file mode 100644 index 000000000..1c369ca63 --- /dev/null +++ b/.github/workflows/vale-check.yml @@ -0,0 +1,24 @@ +name: Vale + +on: + pull_request: + paths: + # Add paths to files we want Vale to check + - 'auth4genai/**/*.md' + - 'auth4genai/**/*.mdx' + - 'auth4genai/**/*.jsx' + +jobs: + vale: + name: runner / vale + runs-on: ubuntu-latest + steps: + - name: Install mdx2vast + run: npm install -g mdx2vast + + - uses: actions/checkout@v4 + - uses: errata-ai/vale-action@v2.1.1 + with: + files: '["auth4genai/"]' + fail_on_error: true + filter_mode: nofilter diff --git a/auth4genai/.vale.ini b/.vale.ini similarity index 92% rename from auth4genai/.vale.ini rename to .vale.ini index d505bde39..e5d7571a2 100644 --- a/auth4genai/.vale.ini +++ b/.vale.ini @@ -24,6 +24,9 @@ StylesPath = .vale/styles +; Primary vocabulary and all domain-specific vocabularies +Vocab = Abbreviations, ApiProtocols, AuthSecurity, Brands, CodeTerms, Cryptography, Databases, DevTools, FileFormats, Frameworks, Miscellaneous, MobileHardware, OperatingSystems, PackageManagers, Platforms, SocialMedia, TeamMembers, TechnicalConcepts + ; Only report error-level issues. Suggestions and warnings are suppressed ; entirely so devs are not blocked on minor style nits. MinAlertLevel = error @@ -49,7 +52,7 @@ BasedOnStyles = Vale, AuthDocs ; Keep helpful core rules for terminology consistency and ; repeated word detection across the docs. -Vale.Terms = YES +Vale.Terms = NO Vale.Repetition = YES ; Replace the built-in spelling rule with a custom one that knows about our @@ -71,7 +74,7 @@ AuthDocs.Brands = YES BasedOnStyles = Vale, AuthDocs ; Keep behavior consistent with MDX files. -Vale.Terms = YES +Vale.Terms = NO Vale.Repetition = YES ; Use the same custom spelling + brand rules as MDX. diff --git a/auth4genai/.vale/README.md b/.vale/README.md similarity index 97% rename from auth4genai/.vale/README.md rename to .vale/README.md index 20becd041..a8cb55d76 100644 --- a/auth4genai/.vale/README.md +++ b/.vale/README.md @@ -1,6 +1,6 @@ # Vale Linting -This directory contains the Vale configuration used to lint and standardize the documentation in `auth4genai`. Vale helps ensure consistent terminology, brand usage, spelling, and overall prose quality. +This directory contains the Vale configuration used to lint and standardize the documentation in `docs-v2`. Vale helps ensure consistent terminology, brand usage, spelling, and overall prose quality. ## Requirements @@ -29,7 +29,7 @@ npm install -g mdx2vast Both executables must be available in your `$PATH`. -Run Vale from the `auth4genai` directory: +Run Vale from the `docs-v2` directory: ```bash vale . diff --git a/auth4genai/.vale/styles/AuthDocs/Brands.yml b/.vale/styles/AuthDocs/Brands.yml similarity index 98% rename from auth4genai/.vale/styles/AuthDocs/Brands.yml rename to .vale/styles/AuthDocs/Brands.yml index 16b2f35d5..f329b9653 100644 --- a/auth4genai/.vale/styles/AuthDocs/Brands.yml +++ b/.vale/styles/AuthDocs/Brands.yml @@ -12,7 +12,7 @@ extends: substitution message: "Consider using '%s' instead of '%s'." -level: error +level: suggestion ignorecase: true scope: text diff --git a/auth4genai/.vale/styles/AuthDocs/Spelling.yml b/.vale/styles/AuthDocs/Spelling.yml similarity index 93% rename from auth4genai/.vale/styles/AuthDocs/Spelling.yml rename to .vale/styles/AuthDocs/Spelling.yml index cd5d47365..e14003f6c 100644 --- a/auth4genai/.vale/styles/AuthDocs/Spelling.yml +++ b/.vale/styles/AuthDocs/Spelling.yml @@ -15,4 +15,4 @@ level: error scope: text ignore: -- config/ignore/authdocs.txt + - config/ignore/authdocs.txt diff --git a/auth4genai/.vale/styles/config/ignore/authdocs.txt b/.vale/styles/config/ignore/authdocs.txt similarity index 99% rename from auth4genai/.vale/styles/config/ignore/authdocs.txt rename to .vale/styles/config/ignore/authdocs.txt index 7e6bae7b0..4304a4e1b 100644 --- a/auth4genai/.vale/styles/config/ignore/authdocs.txt +++ b/.vale/styles/config/ignore/authdocs.txt @@ -39,6 +39,7 @@ authorizer authorizers Auditability Backchannel +backchannel chatbot chatbots fullstack diff --git a/.vale/styles/config/vocabularies/Abbreviations/accept.txt b/.vale/styles/config/vocabularies/Abbreviations/accept.txt new file mode 100644 index 000000000..2fc0fae00 --- /dev/null +++ b/.vale/styles/config/vocabularies/Abbreviations/accept.txt @@ -0,0 +1,26 @@ +CA +CLI +cms +cql +dns +DNS +eg +HTML +ie +ip +IP +ISPs +mcp +MDoc +mDoc +OSs +SDK +se +SIEMs +SLAs +sms +TLDs +uat +UAT +UIs +VMs diff --git a/.vale/styles/config/vocabularies/ApiProtocols/accept.txt b/.vale/styles/config/vocabularies/ApiProtocols/accept.txt new file mode 100644 index 000000000..d3de02059 --- /dev/null +++ b/.vale/styles/config/vocabularies/ApiProtocols/accept.txt @@ -0,0 +1,24 @@ +ACLs +API +apis +configs +conformant +CVEs +DSARs +form_id +getPets +http +https +last_ip +log_id +max_age +maxAge +oid +org_id +param +params +Params +postUrl +url +urls +WSFed diff --git a/.vale/styles/config/vocabularies/AuthSecurity/accept.txt b/.vale/styles/config/vocabularies/AuthSecurity/accept.txt new file mode 100644 index 000000000..57e82257e --- /dev/null +++ b/.vale/styles/config/vocabularies/AuthSecurity/accept.txt @@ -0,0 +1,80 @@ +addon +Addon +Addons +adfs +Captcha +CAPTCHAs +captcha +clickjacking +Clickjacking +cnf +cors +CORs +cybersecurity +Cybersecurity +DPop +Failover +failover +gdpr +HSMs +IdP +Idp +IDP +idp +idToken +JWKs +JWT +jwt +JWTs +Kerberos +keypair +keystore +Keystores +Keystore +ldap +ldaps +Mfa +mfa +Multifactor +multifactor +Multitenancy +Multitenant +multitenant +nonces +oidc +Onboarding +onboarding +openid +otp +OTP +OTPs +passcode +passcodes +passwordless +passwordlessMethod +rbac +reauthenticate +reauthentication +Reauthentication +Rekey +rekey +saml +Saml +SAMLRequest +samlConfiguration +scim +signin +signup +Signup +signups +Signups +sso +SSOdata +Unenroll +unencrypted +Unencrypted +unlinking +Unlinking +untrusted +upn +Webauthn diff --git a/.vale/styles/config/vocabularies/Brands/accept.txt b/.vale/styles/config/vocabularies/Brands/accept.txt new file mode 100644 index 000000000..b829beb13 --- /dev/null +++ b/.vale/styles/config/vocabularies/Brands/accept.txt @@ -0,0 +1,72 @@ +Akamai +Alterian +Apigee +Atlassian +Authy +Caddy +Cloudfare +Cloudwatch +Cocoapods +Cognito +Contoso +Criipto +Datadog +Datatracker +Egencia +Eloqua +Evernote +Fabrikam +Flickr +Freshdesk +Freshworks +Gigya +Github +Gravatar +hCaptcha +Inngest +iWelcome +Kantara +Keycloak +Kibana +Kickstarter +Litmos +Logentries +Loggly +Logstash +Mailchimp +Mailgun +Mailjet +Marketo +Mixpanel +Netlify +Okta +Papertrail +Papertrail's +Pluralsight +Pubnub +RCDevs +Runscope +Sailthru +Sendgrid +Sharepoint +Sparkpost +Splunk +SSOCircle +Stormpath +Symplified +Syslog +Tessel +tiktok +Twilio +Twillio +Ubisecure +Unbounce +vscode +Webex +Windowslive +Wordpress +Workpath +Yubico +Zendesk +Zipline +Ziplines diff --git a/.vale/styles/config/vocabularies/CodeTerms/accept.txt b/.vale/styles/config/vocabularies/CodeTerms/accept.txt new file mode 100644 index 000000000..97b3bc627 --- /dev/null +++ b/.vale/styles/config/vocabularies/CodeTerms/accept.txt @@ -0,0 +1,326 @@ +abided +access_denied +access_token +accessToken +addonConfiguration +age_range +allowAutocomplete +allowedConnections +allowlist +Allowlist +allowlisting +Allowlisting +allowLogin +altcss +app_metadata +app_metada +appInsight +api_limit +api_limit_warning +authButtons +authentication +authentiction +authenticatino +authResult +auth_time +authorization_details +autoclose +autocorrect +autofill +autofocus +autoload +automations +Automations +azure_storage +backgroundImage +backgroundColor +backend's +baseUrl +birthdate +blocked_for +blocked_user +boolean +booleans +breakpoint +browserify +bucket_name +Bursty +bursty +Callouts +cetera +change_password_error +checkSession +changeEmail +classdesc +client_name +clientcertificate +clientId +clientMetadata +client_secret_expires_at +composable +config_file +connectionResolver +connectionScopes +created_at +createMemberships +credential_type +crossdomain +ctx +currentMemberships +customizationthrough +datapoints +datastores +datepicker +Datetime +DBConnection +defaultLocation +Denylist +denylist +deprovision +Deprovision +deprovisioned +Deprovisioning +deserialization +deserialize +deserialized +devkeys +device_id +disabledColor +displayName +email_verified +emailsthrough +embeddable +enablement +envs +errorMessage +errorTranslator +errored +expirations +expires_in +expiresIn +export_ids +extenal +externalId +Fabrikam's +family_name +first_name +flashMessage +focusses +foregroundColor +form_post +form_title +Frontmatter +frontmatter +fullscreen +geofencing +getErrors +get_logs +get_users +given_name +globalMessage +grant_type +handleAuthentication +hashCleanup +headerBlur +headerColor +hideTitle +hoc +hostnames +HTTPOnly +id_token +id_token_hint +Indexable +initializer +initialScreen +input_file +install_type +interaction_required +invalid_request +invalid_user_password +isAuthenticated +isBlocked +isLoading +isMobile +is_verified +johndoe +jsonwebtoken +languageDictionary +last_login +last_login_relative +last_name +last_password_reset +last_updated_at +linked_clients +loggerOutput +logLevel +logins_count +logout_hint +logout_tokens +localstorage +loopback +masse +metas +middle_name +Mintlify's +misconfigured +misconfigurations +namespace +Namespace +namespaced +Namespaced +namespacing +name_format +noop +nullish +objectId +org_name +organization_id +orgs +output_folder +pageBackground +parseHash +parters +passwordManager +password_complexity_options +password_leaked +phone_number +phone_verified +popupOptions +post_logout_redirect_uri +Pre +preconfigured +prepended +primaryColor +privacy_policies +privacy_policies_timestamp +programatically +proxying +proxy_url +public_key +querystring +readme +Realtime +redirect_uri +redirect_uris +redirectUri +redirectUrl +refresh_tokens +repeatPassword +resendManager +resends +responseMode +response_type +responseType +returnTo +riskAssessment +sameSite +samesite +saltRounds +sanitization +scannability +secret_encoded +selected_initiators +semver +session_transfer_token +session_transfer_tokens +setSession +short_name +shortcode +shortcodes +showTerms +sortProperty +startResend +stil +Stringified +stringified +subject_token +substring +sys +templated +tenant_name_example +textColor +third_party_id +Timeframe +timeframe +timeframes +Timesheet +timesheet +Timesheets +timesheets +titleColor +token_type +Tokeninfo +tokenset +tooltip +Tooltip +tooltips +Tooltips +too_many_attempts +touchpoints +ui_locales +uncheck +Uncomment +uncomment +unauthorized_client +unsecure +unsupported_credential_type +unsets +Unvalidated +unvalidated +updated_at +updated_time +Upsert +upsert +upsized +URLScheme +use_scope_descriptions_for_consent +useErrors +userField +userFields +useResend +userinfo +userMessage +userMetadata +user_about_me +user_age_range +user_education_history +user_games_activity +user_gender +user_link +user_managed_groups +user_metadata +user_name +user_profile +user_relationship_details +user_relationships +user_religion_politics +user_website +user_work_history +usernameStyle +users +utils +uuid +validator +Validator +verify_email +verify_password +viewport +walkthrough +Walkthrough +websocket +webservice +webserver +Webtasks +webtasks +whitepaper +withAudience +withConnection +withHeaders +withParameters +withScheme +withScope +wle +wordpress +workstream +workstreams +WP_User diff --git a/.vale/styles/config/vocabularies/Cryptography/accept.txt b/.vale/styles/config/vocabularies/Cryptography/accept.txt new file mode 100644 index 000000000..416680fc8 --- /dev/null +++ b/.vale/styles/config/vocabularies/Cryptography/accept.txt @@ -0,0 +1,4 @@ +bcrypt +crypto +scrypt +xxHash diff --git a/.vale/styles/config/vocabularies/Databases/accept.txt b/.vale/styles/config/vocabularies/Databases/accept.txt new file mode 100644 index 000000000..57e648195 --- /dev/null +++ b/.vale/styles/config/vocabularies/Databases/accept.txt @@ -0,0 +1,5 @@ +couchbase +mysql +mysql_pool +oracledb +postgres diff --git a/.vale/styles/config/vocabularies/DevTools/accept.txt b/.vale/styles/config/vocabularies/DevTools/accept.txt new file mode 100644 index 000000000..a817a6f85 --- /dev/null +++ b/.vale/styles/config/vocabularies/DevTools/accept.txt @@ -0,0 +1,14 @@ +Authlib +Axios +choco +ESLint +Gradle +Gretty +Joomla +Knex +Lerna +Lucide +ngrok +Shadcn +webpack +xmldom diff --git a/.vale/styles/config/vocabularies/FileFormats/accept.txt b/.vale/styles/config/vocabularies/FileFormats/accept.txt new file mode 100644 index 000000000..61a93a40a --- /dev/null +++ b/.vale/styles/config/vocabularies/FileFormats/accept.txt @@ -0,0 +1,10 @@ +css +dotenv +favicon +html +json +Json +plist +xml +xpath +XPath diff --git a/.vale/styles/config/vocabularies/Frameworks/accept.txt b/.vale/styles/config/vocabularies/Frameworks/accept.txt new file mode 100644 index 000000000..3cc9b3c4c --- /dev/null +++ b/.vale/styles/config/vocabularies/Frameworks/accept.txt @@ -0,0 +1,23 @@ +Angular's +Blazor +Cartfile +Javascript +javascript +jQuery +Katana +Laravel +Linkedin +Multisite +multisite +Nuxt +Servlet +servlet +Servlets +servlets +SQLServer +sqlserver +Terraform's +Vue +whatsapp +Winforms +Xamarin diff --git a/.vale/styles/config/vocabularies/Miscellaneous/accept.txt b/.vale/styles/config/vocabularies/Miscellaneous/accept.txt new file mode 100644 index 000000000..edcc0c3ce --- /dev/null +++ b/.vale/styles/config/vocabularies/Miscellaneous/accept.txt @@ -0,0 +1,13 @@ +acul +addons +admin +appi +Cap +cyber +getters +keytool +Lucene +lucene +ULError +Verfied +Visat diff --git a/.vale/styles/config/vocabularies/MobileHardware/accept.txt b/.vale/styles/config/vocabularies/MobileHardware/accept.txt new file mode 100644 index 000000000..83f7cc210 --- /dev/null +++ b/.vale/styles/config/vocabularies/MobileHardware/accept.txt @@ -0,0 +1,4 @@ +APNs +Podfile +Xcode +Yubikey diff --git a/.vale/styles/config/vocabularies/OperatingSystems/accept.txt b/.vale/styles/config/vocabularies/OperatingSystems/accept.txt new file mode 100644 index 000000000..a52625d00 --- /dev/null +++ b/.vale/styles/config/vocabularies/OperatingSystems/accept.txt @@ -0,0 +1 @@ +Xenial diff --git a/.vale/styles/config/vocabularies/PackageManagers/accept.txt b/.vale/styles/config/vocabularies/PackageManagers/accept.txt new file mode 100644 index 000000000..8e4551a56 --- /dev/null +++ b/.vale/styles/config/vocabularies/PackageManagers/accept.txt @@ -0,0 +1,5 @@ +bundler +Nuget +nuget +pnpm +Pnpm diff --git a/.vale/styles/config/vocabularies/Platforms/accept.txt b/.vale/styles/config/vocabularies/Platforms/accept.txt new file mode 100644 index 000000000..2fc781b53 --- /dev/null +++ b/.vale/styles/config/vocabularies/Platforms/accept.txt @@ -0,0 +1,8 @@ +apigee +aws +eloqua +iCloud +mailjet +marketo +okta +twilio diff --git a/.vale/styles/config/vocabularies/SocialMedia/accept.txt b/.vale/styles/config/vocabularies/SocialMedia/accept.txt new file mode 100644 index 000000000..81c83fffe --- /dev/null +++ b/.vale/styles/config/vocabularies/SocialMedia/accept.txt @@ -0,0 +1,16 @@ +business_management +favorite_athletes +favorite_teams +groups_access_member_info +inspirational_people +leads_retrieval +meeting_for +pages_manage_instant_articles +publish_actions +publish_to_groups +read_custom_friendlists +rsvp_event +security_settings +significant_other +video_upload_limits +viewer_can_send_gift diff --git a/.vale/styles/config/vocabularies/TeamMembers/accept.txt b/.vale/styles/config/vocabularies/TeamMembers/accept.txt new file mode 100644 index 000000000..d334bb238 --- /dev/null +++ b/.vale/styles/config/vocabularies/TeamMembers/accept.txt @@ -0,0 +1,25 @@ +Abbaspour +Amintha +Balmaceda +Bogdan +Conny +Dahlgren +Detering +Diab +Flintstone +Frederik +Ghitea +Hauser +Hiroko +Hoekstra +Jonno +Khoriander +Metahexa +Muhamad +Poovamraj +Prijck +Sergiu +Sumana +Thanganadar +Thiagarajan +Vitoc diff --git a/.vale/styles/config/vocabularies/TechnicalConcepts/accept.txt b/.vale/styles/config/vocabularies/TechnicalConcepts/accept.txt new file mode 100644 index 000000000..4f7d863d0 --- /dev/null +++ b/.vale/styles/config/vocabularies/TechnicalConcepts/accept.txt @@ -0,0 +1,63 @@ +architecting +backdooring +backoff +backout +blockquote +Callout +chiclet +combatting +cron +Cron +cutover +Cutover +Decompiling +decompile +decompiled +dialogs +failback +Forgeable +hardcode +IPrincipal +keylogging +knowledgebase +libary +Mainscreen +matchers +mitigations +mod_auth_openidc +Monorepo +monorepo +mosca +nodejs +Operationalization +operationalize +performant +plaintext +Plaintext +postback +prefill +Prefill +reinitiate +requestbin +requestor +requestors +reprompting +retrigger +reverifying +rollouts +roundtrips +Runtimes +runtimes +Screenboard +scrollable +serverless +sudo +syntaxes +systemd +transcation +Uncustomizable +unrequested +webapps +Webtask +webtask +Ziplining diff --git a/README.md b/README.md index 4d08fb8dd..55cbc7365 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,10 @@ lychee --format detailed --verbose --root-dir "$(pwd)/auth4genai" \ 'auth4genai/**/*.md' 'auth4genai/**/*.mdx' 'auth4genai/**/*.jsx' ``` +## Vale Linting + +We use [Vale](https://vale.sh/) to keep terminology and brand usage consistent across the docs. See the dedicated Vale guide in [`./.vale/README.md`](./.vale/README.md) for details on configuration structure, MDX support, and how to extend or adjust the rules. + ### Notes * You can combine `--base-url` and glob patterns however you like; the examples above are the patterns used in CI. diff --git a/auth4genai/README.md b/auth4genai/README.md index 4209fbfde..b1881f31b 100644 --- a/auth4genai/README.md +++ b/auth4genai/README.md @@ -58,20 +58,16 @@ In this repo, code block instantiation follows this pattern: For example: -``` +```` ```bash .env wrap lines ... -``` +```` -``` +```` ```typescript ./src/auth0/app wrap lines highlight={1,7-10} ... -``` - -## Vale Linting - -We use [Vale](https://vale.sh/) to keep terminology and brand usage consistent across the docs. See the dedicated Vale guide in [`./.vale/README.md`](./.vale/README.md) for details on configuration structure, MDX support, and how to extend or adjust the rules. +```` diff --git a/main/docs/authenticate/configure-custom-token-exchange.mdx b/main/docs/authenticate/configure-custom-token-exchange.mdx deleted file mode 100644 index e69de29bb..000000000 diff --git a/main/docs/authenticate/database-connections/passkeys.mdx b/main/docs/authenticate/database-connections/passkeys.mdx index 94f740a5c..d4fb4d605 100644 --- a/main/docs/authenticate/database-connections/passkeys.mdx +++ b/main/docs/authenticate/database-connections/passkeys.mdx @@ -88,6 +88,6 @@ FIDO® is a trademark (registered in numerous countries) of [FIDO Alliance, Inc] Multiple Custom Domains is currently available in Early Access. To use this feature, you must have an Enterprise plan. By using this feature, you agree to the applicable Free Trial terms in Okta’s [Master Subscription Agreement](https://www.okta.com/legal). To learn more about Auth0's product release cycle, read [Product Release Stages](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages). -If you have Multiple Custom Domains enabled on your tenant, Auth0 maintains a one-to-one relationship between a domain and the passkey for that domain. Uers with a passkey-enabled database can sign up and log in with a passkey, tied to the specific domain it was created on. Users can enroll a Passkey for only one domain (the first one they enroll with, among the multiple custom domains on the tenant). +If you have Multiple Custom Domains enabled on your tenant, Auth0 maintains a one-to-one relationship between a domain and the passkey for that domain. Users with a passkey-enabled database can sign up and log in with a passkey, tied to the specific domain it was created on. Users can enroll a Passkey for only one domain (the first one they enroll with, among the multiple custom domains on the tenant). For passwordless login, the selected custom domain should be reflected in the Magic Link for the passwordless login flow.