Skip to content

Commit

Permalink
fix: resolve broken docs links
Browse files Browse the repository at this point in the history
  • Loading branch information
aeneasr committed Sep 14, 2020
1 parent 6408dbb commit 56f4a39
Show file tree
Hide file tree
Showing 38 changed files with 144 additions and 149 deletions.
19 changes: 9 additions & 10 deletions docs/docs/concepts/credentials/username-email-password.mdx
Expand Up @@ -8,8 +8,8 @@ requires an `identifier` (username, email, phone number, ...) and a `password`
during registration and login.

ORY Kratos hashes the password after registration, password reset, and password
change using the [Argon2 Hashing Algorithm](../../concepts/security#Argon2), the
winner of the
change using the [Argon2 Hashing Algorithm](../security.mdx#Argon2), the winner
of the
[Password Hashing Competition (PHC)](https://github.com/P-H-C/phc-winner-argon2).

## Configuration
Expand Down Expand Up @@ -50,14 +50,14 @@ identity:
```

If you don't know what that means, please read the
[Identity Data Model Chapter](../../concepts/identity-user-model) in the docs'
concepts section.
[Identity Data Model Chapter](../../concepts/identity-data-model.md) in the
docs' concepts section.

For a complete reference, defaults, and description please check the
[Configuration Reference](../../reference/configuration).
[Configuration Reference](../../reference/configuration.md).

For a better understanding of security implications imposed by Argon2
Configuration, head over to [Argon2 Security](../security#argon2).
Configuration, head over to [Argon2 Security](../security.mdx#argon2).

## Choosing between Username, Email, Phone Number

Expand Down Expand Up @@ -85,7 +85,7 @@ The email address however represents a unique identifier and personally
identifiable information (PII). An attacker could for example check if an email
address (e.g. `john.doe@gmail.com`) is registered at a site (e.g. an adult
website) and use that information for blackmail (see
[Account Enumeration Attacks](../../concepts/security#account-enumeration-attacks)).
[Account Enumeration Attacks](../security.mdx#account-enumeration-attacks)).

The same considerations apply to using a phone number as the primary
registration & login identifier.
Expand Down Expand Up @@ -118,7 +118,7 @@ You need to decide which route you want to take.
### Picking the right Identity JSON Schema

When processing an identity and its traits, the method will use
[JSON Schema](../../reference/json-schema-json-paths) to extract one or more
[JSON Schema](../../reference/json-schema-json-paths.md) to extract one or more
identifiers.

#### Use Case: Email and Password
Expand Down Expand Up @@ -311,8 +311,7 @@ Assuming your Identity JSON Schema is as follows:
```

And an identity registers with the following JSON payload (more on registration
in
[Selfservice Registration](../../self-service/flows/user-login-user-registration/username-email-password)):
in [Selfservice Registration](../../self-service/flows/user-registration.mdx)):

```json
{
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/fallback/login.mdx
Expand Up @@ -16,4 +16,4 @@ You can set this configuration value using environment variable
`SELFSERVICE_FLOWS_LOGIN_UI_URL` as well!

If you don't know what that means, head over to
[User Login and Registration](../self-service/flows/user-login-user-registration.mdx)!
[Self-Service User Login](../self-service/flows/user-login.mdx)!
2 changes: 1 addition & 1 deletion docs/docs/fallback/registration.mdx
Expand Up @@ -16,4 +16,4 @@ You can set this configuration value using environment variable
`SELFSERVICE_FLOWS_REGISTRATION_UI_URL` as well!

If you don't know what that means, head over to
[User Login and Registration](../self-service/flows/user-login-user-registration.mdx)!
[Self-Service User Registration](../self-service/flows/user-registration.mdx)!
6 changes: 3 additions & 3 deletions docs/docs/reference/api.mdx
Expand Up @@ -1937,7 +1937,7 @@ attacks, the public endpoint does not return 404 status codes but instead 403
or 500.

More information can be found at
[ORY Kratos Account Recovery Documentation](../self-service/flows/password-reset-account-recovery).
[ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).

<a id="get-the-request-context-of-browser-based-recovery-flows-parameters"></a>

Expand Down Expand Up @@ -3576,7 +3576,7 @@ parameter. If a valid user session exists, the request is aborted.
> (Chrome, Firefox, ...).
More information can be found at
[ORY Kratos Account Recovery Documentation](../self-service/flows/password-reset-account-recovery).
[ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).

#### Responses

Expand Down Expand Up @@ -3748,7 +3748,7 @@ Accept: application/json
> (Chrome, Firefox, ...) and HTML Forms.
More information can be found at
[ORY Kratos Account Recovery Documentation](../self-service/flows/password-reset-account-recovery).
[ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).

#### Responses

Expand Down
65 changes: 32 additions & 33 deletions docs/docs/self-service.mdx
Expand Up @@ -42,33 +42,33 @@ ORY Kratos applies best practices established by experts (National Institute of
Sciences NIST, Internet Engineering Task Force IETF, Microsoft Research, Google
Research, Troy Hunt, ...) and implements the following flows:

- [Login and Registration](self-service/flows/user-login-user-registration)
- [Logout](self-service/flows/user-logout)
- [User Settings](self-service/flows/user-settings)
- [Account Recovery](self-service/flows/account-recovery)
- [Address Verification](self-service/flows/verify-email-account-activation)
- [User-Facing Error](self-service/flows/user-facing-errors)
- [2FA / MFA](self-service/flows/2fa-mfa-multi-factor-authentication)
- [Registration](self-service/flows/user-registration.mdx)
- [Login](self-service/flows/user-login.mdx)
- [Logout](self-service/flows/user-logout.md)
- [User Settings](self-service/flows/user-settings.mdx)
- [Account Recovery](self-service/flows/account-recovery.mdx)
- [Address Verification](self-service/flows/verify-email-account-activation.mdx)
- [User-Facing Error](self-service/flows/user-facing-errors.md)
- [2FA / MFA](self-service/flows/2fa-mfa-multi-factor-authentication.md)

Some flows break down into "flow methods" which implement some of the flow's
business logic:

- The `password` method implements the
[login and registration with "email or/and username and password" method](self-service/flows/user-login-user-registration/username-email-password),
and
["change your password" user settings method](self-service/flows/user-settings/change-password).
- The `oidc` (OpenID Connect, OAuth2, Social Sign In) method implements
["Sign in with ..." login and registration method](self-service/flows/user-login-user-registration/openid-connect-social-sign-in-oauth2)
and
["un/link another social account" user settings method](self-service/flows/user-settings/link-unlink-openid-connect-oauth2).
- The `profile` method implements the
["update your profile", "change your first/last name, ..." user settings method)](self-service/flows/user-settings/user-profile-management).
- The `link` method implements the
["click this link to reset your password" account recovery method](self-service/flows/user-settings/user-profile-management).

Some flows additionally implement the ability [to run hooks](self-service/hooks)
which allow users to be immediately signed in after registration, notify another
system on successful registration (e.g. Mailchimp), and so on.
- The `password` method implements the login and registration with "email or/and
username and password" method, and "change your password" user settings
method.
- The `oidc` (OpenID Connect, OAuth2, Social Sign In) method implements "Sign in
with ..." login and registration method and "un/link another social account"
user settings method.
- The `profile` method implements the "update your profile", "change your
first/last name, ..." user settings method).
- The `link` method implements the "click this link to reset your password"
account recovery method.

Some flows additionally implement the ability
[to run hooks](self-service/hooks.mdx) which allow users to be immediately
signed in after registration, notify another system on successful registration
(e.g. Mailchimp), and so on.

## Performing Login, Registration, Settings, ... Flows

Expand All @@ -78,12 +78,11 @@ There are two flow types supported in ORY Kratos:
app, ...)
- Flows where API interaction is required (e.g. mobile app, Smart TV, ...)

All Self-Service Flows
([User Login](self-service/flows/user-login-user-registration),
[User Registration](self-service/flows/user-login-user-registration),
[Profile Management](self-service/flows/user-settings),
[Account Recovery](self-service/flows/account-recovery),
[Email or Phone verification](self-service/flows/verify-email-account-activation))
All Self-Service Flows ([User Login](self-service/flows/user-login.mdx),
[User Registration](self-service/flows/user-registration.mdx),
[Profile Management](self-service/flows/user-settings.mdx),
[Account Recovery](self-service/flows/account-recovery.mdx),
[Email or Phone verification](self-service/flows/verify-email-account-activation.mdx))
support these two flow types and use the same data models but do use different
API endpoints.

Expand Down Expand Up @@ -117,8 +116,8 @@ The browser flow has three stages:
:::note

The payloads, examples, ports, and IPs shown here are the ones used if you run
the [Quickstart](quickstart). If you have not checked it out yet, please do so
before reading this document.
the [Quickstart](quickstart.mdx). If you have not checked it out yet, please do
so before reading this document.

:::

Expand Down Expand Up @@ -166,7 +165,7 @@ The Browser opens the URL (here
which renders the HTML form whhich for example shows the "username and password"
field, the "Update your email address" field, or other flow forms. This HTML
form is rendered be the
[Self-Service UI](concepts/ui-user-interface#self-service-user-interface-ssui)
[Self-Service UI](concepts/ui-user-interface.md#self-service-user-interface-ssui)
which you fully control.

The endpoint responsible for the UI URL uses the `flow` URL Query Parameter
Expand Down Expand Up @@ -305,7 +304,7 @@ which now includes validation errors and other potential messages:
```

If a system error (e.g. broken configuration file) occurs, the browser is
redirected to the [Error UI](self-service/flows/user-facing-errors).
redirected to the [Error UI](self-service/flows/user-facing-errors.md).

If the form payload is valid, the flow completes with a success. The result here
depends on the flow itself - the login flow for example redirects the user to a
Expand Down
6 changes: 3 additions & 3 deletions docs/docs/self-service/flows/user-settings.mdx
Expand Up @@ -218,9 +218,9 @@ which returns a JSON response:
## Settings Flow Payloads

Fetching the Settings Flow
([REST API Reference](../reference/api#get-settings-flow)) is usually only
required for browser clients but also works for Settings Flows initializied by
API clients. All you need is a valid flow ID:
([REST API Reference](../../reference/api.mdx#get-settings-flow)) is usually
only required for browser clients but also works for Settings Flows initializied
by API clients. All you need is a valid flow ID:

<CodeTabs items={getFlow} />

Expand Down
Expand Up @@ -252,9 +252,9 @@ which returns a JSON response:
## Verification Flow Payloads

Fetching the Verification Flow
([REST API Reference](../reference/api#get-verification-flow)) is usually only
required for browser clients but also works for Verification Flows initializied
by API clients. All you need is a valid flow ID:
([REST API Reference](../../reference/api.mdx#get-verification-flow)) is usually
only required for browser clients but also works for Verification Flows
initializied by API clients. All you need is a valid flow ID:

<CodeTabs items={getFlow} />

Expand Down Expand Up @@ -366,5 +366,5 @@ Verification Flow that has now the `state` of `passed_challenge`:
<CodeTabs items={getFlowMethodLinkChallengeDone} />

You may also
[configure a redirect URL](../../concepts/browser-redirect-flow-completion)
[configure a redirect URL](../../concepts/browser-redirect-flow-completion.mdx)
instead which would send the end-user to that configured URL.
2 changes: 1 addition & 1 deletion docs/docs/self-service/hooks.mdx
Expand Up @@ -68,7 +68,7 @@ been created. It runs after the identity has been saved to the database.

Using this job as part of your post-registration workflow makes your system
vulnerable to
[Account Enumeration Attacks](../../concepts/security.md#account-enumeration-attacks)
[Account Enumeration Attacks](../concepts/security.mdx#account-enumeration-attacks)
because a threat agent can distinguish between existing and non-existing
accounts by checking if `Set-Cookie` was sent as part of the registration
response.
Expand Down
1 change: 0 additions & 1 deletion docs/docusaurus.config.js
Expand Up @@ -56,7 +56,6 @@ if (fs.existsSync('./versions.json')) {
}

module.exports = {
onBrokenLinks: 'warn',
title: config.projectName,
tagline: config.projectTagLine,
url: `https://www.ory.sh/`,
Expand Down
2 changes: 1 addition & 1 deletion docs/versioned_docs/version-v0.1/concepts/credentials.md
Expand Up @@ -258,7 +258,7 @@ Assuming your traits schema is as follows:

And an identity registers with the following JSON payload (more on registration
in
[Selfservice Registration](../self-service/flows/user-login-user-registration.mdx)):
[Selfservice Registration](../self-service/flows/user-login-user-registration.md)):

```json
{
Expand Down
6 changes: 3 additions & 3 deletions docs/versioned_docs/version-v0.1/concepts/index.md
Expand Up @@ -221,7 +221,7 @@ Ory has numerous products that support the protocols OAuth2 or OpenID Connect in
### Software Architecture

Ory's
[Software Architecture and Philosophy](../../ecosystem/software-architecture-philosophy.md)
[Software Architecture and Philosophy](https://www.ory.sh/docs/ecosystem/software-architecture-philosophy)
document, explains the architectural beliefs and framework behind the Ory
Products in particular:

Expand Down Expand Up @@ -262,7 +262,7 @@ system:
attached to the profile.

ORY Kratos implements both scenarios by using
[JSON Schemas for Identity Traits](./identity-user-model.md)
[JSON Schemas for Identity Traits](identity-user-model.md)

### Forget passport-js, oidc-client, ...

Expand All @@ -271,5 +271,5 @@ Open Source provides a base solution for many use cases. For example, ORY Kratos
integrates with ORY Oathkeeper, a Reverse Proxy solution. Defining Access Rules
is as easy as writing a few lines of JSON / JSON5 / YAML!

Please consult the Quick Start documentation [Quickstart](../quickstart.md), for
Please consult the Quick Start documentation [Quickstart](../quickstart.mdx), for
further information.
5 changes: 2 additions & 3 deletions docs/versioned_docs/version-v0.1/self-service/flows/index.md
Expand Up @@ -12,9 +12,8 @@ privileges to create, update, or delete accounts.

## Network Flows for Browsers

All Self-Service Flows such as [User Login](./user-login.md),
[User Registration](./user-login-user-registration.mdx),
[Profile Management](./user-profile-management.md) use the same template:
All Self-Service Flows such as [User Login and User Registration](user-login-user-registration.md),
[Profile Management](user-profile-management.md) use the same template:

1. The Browser makes an HTTP request to the flow's initialization endpoint (e.g.
`/auth/browser/login`);
Expand Down
Expand Up @@ -26,7 +26,7 @@ urls:
## Self-Service User Profile Management for Browser Applications

This flow is similar to
[User Login and User Registration](user-login-user-registration.mdx) but does not
[User Login and User Registration](user-login-user-registration.md) but does not
support before/after work flows or individual strategies. It uses the already
established [Network Flows for Browsers](index.md#network-flows-for-browsers).

Expand Down
Expand Up @@ -7,7 +7,7 @@ The `password` strategy implements the most-common used form of login and
registration: An identifier (username, email, phone number, ...) and a password.

It implements several flows, specifically
[User Login and User Registration](../flows/user-login-user-registration.mdx).
[User Login and User Registration](../flows/user-login-user-registration.md).

To enable the `password` strategy, set `selfservice.strategies.password.enabled`
to true in your ORY Kratos configuration:
Expand Down Expand Up @@ -222,7 +222,7 @@ You may also mix usernames and passwords:
### Registration

This strategy uses the high-level registration flow defined in chapter
[Self-Service Registration User Flow](../flows/user-login-user-registration.mdx).
[Self-Service Registration User Flow](../flows/user-login-user-registration.md).

Once the user is redirected to the Registration UI URL, the endpoint responsible
for that URL makes a request to ORY Kratos' Public / Admin API and appends the
Expand Down
Expand Up @@ -86,7 +86,7 @@ flow will fail.

You will also need to project data coming from the provider onto your own data
model. You can express this using a JSON Path
([learn more about the syntax](../reference/json-schema-json-paths.md)) in your
([learn more about the syntax](../../reference/json-schema-json-paths.md)) in your
JSON Schema. Let's assume you want to map field `username` from the provider to
field `traits.name` in your identity:

Expand Down
Expand Up @@ -36,10 +36,10 @@ hashers:
```

For a complete reference, defaults, and description please check the
[Configuration Reference](../reference/configuration.md).
[Configuration Reference](../../reference/configuration.md).

For a better understanding of security implications imposed by Argon2
Configuration, head over to [Argon2 Security](./security.md#argon2).
Configuration, head over to [Argon2 Security](../security.mdx#argon2).

## JSON Schema

Expand Down Expand Up @@ -175,7 +175,7 @@ Assuming your traits schema is as follows:

And an identity registers with the following JSON payload (more on registration
in
[Selfservice Registration](../self-service/flows/user-login-user-registration.md)):
[Selfservice Registration](../../self-service/flows/user-login-user-registration.mdx)):

```json
{
Expand Down
4 changes: 2 additions & 2 deletions docs/versioned_docs/version-v0.2/concepts/index.md
Expand Up @@ -221,7 +221,7 @@ Ory has numerous products that support the protocols OAuth2 or OpenID Connect in
### Software Architecture

Ory's
[Software Architecture and Philosophy](../../ecosystem/software-architecture-philosophy.md)
[Software Architecture and Philosophy](https://www.ory.sh/docs/ecosystem/software-architecture-philosophy)
document, explains the architectural beliefs and framework behind the Ory
Products in particular:

Expand Down Expand Up @@ -271,5 +271,5 @@ Open Source provides a base solution for many use cases. For example, ORY Kratos
integrates with ORY Oathkeeper, a Reverse Proxy solution. Defining Access Rules
is as easy as writing a few lines of JSON / JSON5 / YAML!

Please consult the Quick Start documentation [Quickstart](../quickstart.md), for
Please consult the Quick Start documentation [Quickstart](../quickstart.mdx), for
further information.
5 changes: 2 additions & 3 deletions docs/versioned_docs/version-v0.2/self-service/flows/index.md
Expand Up @@ -12,9 +12,8 @@ privileges to create, update, or delete accounts.

## Network Flows for Browsers

All Self-Service Flows such as [User Login](./user-login.md),
[User Registration](./user-login-user-registration.mdx),
[Profile Management](./user-profile-management.md) use the same template:
All Self-Service Flows such as [User Login and User Registration](user-login-user-registration.mdx),
[Profile Management](user-settings-profile-management.mdx) use the same template:

1. The Browser makes an HTTP request to the flow's initialization endpoint (e.g.
`/auth/browser/login`);
Expand Down
Expand Up @@ -145,7 +145,7 @@ It runs after the identity has been saved to the database.

Using this job as part of your post-registration workflow makes your system
vulnerable to
[Account Enumeration Attacks](../../concepts/security.md#account-enumeration-attacks)
[Account Enumeration Attacks](../../concepts/security.mdx#account-enumeration-attacks)
because a threat agent can distinguish between existing and non-existing
accounts by checking if `Set-Cookie` was sent as part of the registration
response.
Expand Down

0 comments on commit 56f4a39

Please sign in to comment.