snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "E-Mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
},
|
||||
"webauthn": {
|
||||
"identifier": true
|
||||
},
|
||||
"code": {
|
||||
"identifier": true,
|
||||
"via": "email"
|
||||
},
|
||||
"passkey": {
|
||||
"display_name": true
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
},
|
||||
"recovery": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"first": {
|
||||
"title": "First Name",
|
||||
"type": "string"
|
||||
},
|
||||
"last": {
|
||||
"title": "Last Name",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["email"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
120
contrib/quickstart/kratos/all-strategies/kratos.yml
Normal file
120
contrib/quickstart/kratos/all-strategies/kratos.yml
Normal file
@@ -0,0 +1,120 @@
|
||||
version: v0.13.0
|
||||
|
||||
dsn: memory
|
||||
|
||||
serve:
|
||||
public:
|
||||
base_url: http://localhost:4433/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
session:
|
||||
whoami:
|
||||
required_aal: aal1
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://localhost:4455/
|
||||
allowed_return_urls:
|
||||
- http://localhost:4455
|
||||
- http://localhost:19006/Callback
|
||||
- exp://localhost:8081/--/Callback
|
||||
|
||||
methods:
|
||||
password:
|
||||
enabled: true
|
||||
webauthn:
|
||||
enabled: true
|
||||
config:
|
||||
passwordless: true
|
||||
rp:
|
||||
display_name: Your Application name
|
||||
# Set 'id' to the top-level domain.
|
||||
id: localhost
|
||||
# Set 'origin' to the exact URL of the page that prompts the user to use WebAuthn. You must include the scheme, host, and port.
|
||||
origin: http://localhost:4455
|
||||
passkey:
|
||||
enabled: true
|
||||
config:
|
||||
rp:
|
||||
display_name: Your Application name
|
||||
# Set 'id' to the top-level domain.
|
||||
id: localhost
|
||||
# Set 'origin' to the exact URL of the page that prompts the user to use WebAuthn. You must include the scheme, host, and port.
|
||||
origins:
|
||||
- http://localhost:4455
|
||||
|
||||
flows:
|
||||
error:
|
||||
ui_url: http://localhost:4455/error
|
||||
|
||||
settings:
|
||||
ui_url: http://localhost:4455/settings
|
||||
privileged_session_max_age: 15m
|
||||
required_aal: aal1
|
||||
|
||||
recovery:
|
||||
enabled: true
|
||||
ui_url: http://localhost:4455/recovery
|
||||
use: code
|
||||
|
||||
verification:
|
||||
enabled: false
|
||||
ui_url: http://localhost:4455/verification
|
||||
use: code
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/login
|
||||
|
||||
login:
|
||||
ui_url: http://localhost:4455/login
|
||||
lifespan: 10m
|
||||
|
||||
registration:
|
||||
enable_legacy_one_step: false
|
||||
lifespan: 10m
|
||||
ui_url: http://localhost:4455/registration
|
||||
after:
|
||||
passkey:
|
||||
hooks:
|
||||
- hook: session
|
||||
webauthn:
|
||||
hooks:
|
||||
- hook: session
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
- hook: show_verification_ui
|
||||
|
||||
log:
|
||||
level: debug
|
||||
format: text
|
||||
leak_sensitive_values: true
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
cipher:
|
||||
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
|
||||
|
||||
ciphers:
|
||||
algorithm: xchacha20-poly1305
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
default_schema_id: default
|
||||
schemas:
|
||||
- id: default
|
||||
url: file://./contrib/quickstart/kratos/all-strategies/identity.schema.json
|
||||
|
||||
courier:
|
||||
smtp:
|
||||
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
|
||||
17
contrib/quickstart/kratos/cloud/Caddyfile
Normal file
17
contrib/quickstart/kratos/cloud/Caddyfile
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
http_port 4455
|
||||
auto_https off
|
||||
|
||||
}
|
||||
|
||||
:4455 {
|
||||
route /ui/* {
|
||||
uri strip_prefix /ui
|
||||
reverse_proxy kratos-selfservice-ui-node:4438 {
|
||||
header_up Host {http.request.hostport}
|
||||
}
|
||||
}
|
||||
reverse_proxy /* kratos:4433 {
|
||||
header_up Host {http.request.hostport}
|
||||
}
|
||||
}
|
||||
49
contrib/quickstart/kratos/cloud/identity.schema.json
Normal file
49
contrib/quickstart/kratos/cloud/identity.schema.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "E-Mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
},
|
||||
"recovery": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"first": {
|
||||
"title": "First Name",
|
||||
"type": "string"
|
||||
},
|
||||
"last": {
|
||||
"title": "Last Name",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"email"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
76
contrib/quickstart/kratos/cloud/kratos.yml
Normal file
76
contrib/quickstart/kratos/cloud/kratos.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
version: v0.13.0
|
||||
|
||||
dsn: memory
|
||||
|
||||
serve:
|
||||
public:
|
||||
base_url: http://localhost:4455/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://localhost:4455/ui/welcome
|
||||
allowed_return_urls:
|
||||
- http://localhost:4455
|
||||
|
||||
methods:
|
||||
password:
|
||||
enabled: true
|
||||
|
||||
flows:
|
||||
error:
|
||||
ui_url: http://localhost:4455/ui/error
|
||||
|
||||
settings:
|
||||
ui_url: http://localhost:4455/ui/settings
|
||||
privileged_session_max_age: 15m
|
||||
|
||||
recovery:
|
||||
enabled: true
|
||||
ui_url: http://localhost:4455/ui/recovery
|
||||
|
||||
verification:
|
||||
enabled: true
|
||||
ui_url: http://localhost:4455/ui/verification
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/ui/welcome
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/ui/login
|
||||
|
||||
login:
|
||||
ui_url: http://localhost:4455/ui/login
|
||||
|
||||
registration:
|
||||
ui_url: http://localhost:4455/ui/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
-
|
||||
hook: session
|
||||
|
||||
log:
|
||||
level: info
|
||||
format: text
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
default_schema_id: preset://email
|
||||
schemas:
|
||||
- id: preset://email
|
||||
url: file:///etc/config/kratos/identity.schema.json
|
||||
|
||||
courier:
|
||||
smtp:
|
||||
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
|
||||
42
contrib/quickstart/kratos/cloud/quickstart.yml
Normal file
42
contrib/quickstart/kratos/cloud/quickstart.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
kratos:
|
||||
volumes:
|
||||
- type: volume
|
||||
source: kratos-sqlite
|
||||
target: /var/lib/sqlite
|
||||
read_only: false
|
||||
- type: bind
|
||||
source: ./contrib/quickstart/kratos/cloud
|
||||
target: /etc/config/kratos
|
||||
kratos-migrate:
|
||||
volumes:
|
||||
- type: volume
|
||||
source: kratos-sqlite
|
||||
target: /var/lib/sqlite
|
||||
read_only: false
|
||||
- type: bind
|
||||
source: ./contrib/quickstart/kratos/cloud
|
||||
target: /etc/config/kratos
|
||||
|
||||
kratos-selfservice-ui-node:
|
||||
ports:
|
||||
- "4438:4438"
|
||||
environment:
|
||||
- PORT=4438
|
||||
- KRATOS_BROWSER_URL=http://localhost:4455/
|
||||
|
||||
kratos-caddy:
|
||||
image: caddy:2.4.5-alpine
|
||||
ports:
|
||||
- "4455:4455"
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ./contrib/quickstart/kratos/cloud/Caddyfile
|
||||
target: /etc/caddy/Caddyfile
|
||||
command: caddy run -watch -config /etc/caddy/Caddyfile
|
||||
restart: on-failure
|
||||
networks:
|
||||
- intranet
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "E-Mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
},
|
||||
"recovery": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"first": {
|
||||
"title": "First Name",
|
||||
"type": "string"
|
||||
},
|
||||
"last": {
|
||||
"title": "Last Name",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"email"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
102
contrib/quickstart/kratos/email-password/kratos.yml
Normal file
102
contrib/quickstart/kratos/email-password/kratos.yml
Normal file
@@ -0,0 +1,102 @@
|
||||
version: v0.13.0
|
||||
|
||||
dsn: memory
|
||||
|
||||
serve:
|
||||
public:
|
||||
base_url: http://127.0.0.1:4433/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://127.0.0.1:4455/welcome
|
||||
allowed_return_urls:
|
||||
- http://127.0.0.1:4455
|
||||
- http://localhost:19006/Callback
|
||||
- exp://localhost:8081/--/Callback
|
||||
|
||||
methods:
|
||||
password:
|
||||
enabled: true
|
||||
totp:
|
||||
config:
|
||||
issuer: Kratos
|
||||
enabled: true
|
||||
lookup_secret:
|
||||
enabled: true
|
||||
link:
|
||||
enabled: true
|
||||
code:
|
||||
enabled: true
|
||||
|
||||
flows:
|
||||
error:
|
||||
ui_url: http://127.0.0.1:4455/error
|
||||
|
||||
settings:
|
||||
ui_url: http://127.0.0.1:4455/settings
|
||||
privileged_session_max_age: 15m
|
||||
required_aal: highest_available
|
||||
|
||||
recovery:
|
||||
enabled: true
|
||||
ui_url: http://127.0.0.1:4455/recovery
|
||||
use: code
|
||||
|
||||
verification:
|
||||
enabled: true
|
||||
ui_url: http://127.0.0.1:4455/verification
|
||||
use: code
|
||||
after:
|
||||
default_browser_return_url: http://127.0.0.1:4455/welcome
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://127.0.0.1:4455/login
|
||||
|
||||
login:
|
||||
ui_url: http://127.0.0.1:4455/login
|
||||
lifespan: 10m
|
||||
|
||||
registration:
|
||||
lifespan: 10m
|
||||
ui_url: http://127.0.0.1:4455/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
- hook: show_verification_ui
|
||||
|
||||
log:
|
||||
level: debug
|
||||
format: text
|
||||
leak_sensitive_values: true
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
cipher:
|
||||
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
|
||||
|
||||
ciphers:
|
||||
algorithm: xchacha20-poly1305
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
default_schema_id: default
|
||||
schemas:
|
||||
- id: default
|
||||
url: file:///etc/config/kratos/identity.schema.json
|
||||
|
||||
courier:
|
||||
smtp:
|
||||
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
|
||||
|
||||
feature_flags:
|
||||
use_continue_with_transitions: true
|
||||
34
contrib/quickstart/kratos/passkey/identity.schema.json
Normal file
34
contrib/quickstart/kratos/passkey/identity.schema.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "Your E-Mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
},
|
||||
"webauthn": {
|
||||
"identifier": true
|
||||
},
|
||||
"passkey": {
|
||||
"display_name": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["email"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
107
contrib/quickstart/kratos/passkey/kratos.yml
Normal file
107
contrib/quickstart/kratos/passkey/kratos.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
serve:
|
||||
public:
|
||||
base_url: http://localhost:4433/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
session:
|
||||
whoami:
|
||||
required_aal: aal1
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://localhost:4455/welcome
|
||||
allowed_return_urls:
|
||||
- http://localhost:4455
|
||||
- http://localhost:19006/Callback
|
||||
- exp://example.com/Callback
|
||||
- https://www.ory.sh/
|
||||
- https://example.org/
|
||||
- https://www.example.org/
|
||||
methods:
|
||||
link:
|
||||
config:
|
||||
lifespan: 1h
|
||||
code:
|
||||
config:
|
||||
lifespan: 1h
|
||||
totp:
|
||||
enabled: true
|
||||
config:
|
||||
issuer: issuer.ory.sh
|
||||
lookup_secret:
|
||||
enabled: true
|
||||
webauthn:
|
||||
enabled: true
|
||||
config:
|
||||
passwordless: true
|
||||
rp:
|
||||
id: localhost
|
||||
origins:
|
||||
- http://localhost:4455
|
||||
display_name: Ory
|
||||
passkey:
|
||||
enabled: true
|
||||
config:
|
||||
rp:
|
||||
id: localhost
|
||||
origins:
|
||||
- http://localhost:4455
|
||||
display_name: Ory
|
||||
flows:
|
||||
settings:
|
||||
ui_url: http://localhost:4455/settings
|
||||
privileged_session_max_age: 5m
|
||||
required_aal: aal1
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/login
|
||||
registration:
|
||||
ui_url: http://localhost:4455/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
webauthn:
|
||||
hooks:
|
||||
- hook: session
|
||||
passkey:
|
||||
hooks:
|
||||
- hook: session
|
||||
login:
|
||||
ui_url: http://localhost:4455/login
|
||||
error:
|
||||
ui_url: http://localhost:4455/error
|
||||
verification:
|
||||
ui_url: http://localhost:4455/verify
|
||||
recovery:
|
||||
ui_url: http://localhost:4455/recovery
|
||||
|
||||
log:
|
||||
level: debug
|
||||
format: text
|
||||
leak_sensitive_values: true
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
cipher:
|
||||
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
|
||||
|
||||
ciphers:
|
||||
algorithm: xchacha20-poly1305
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
schemas:
|
||||
- id: default
|
||||
url: file://contrib/quickstart/kratos/passkey/identity.schema.json
|
||||
|
||||
courier:
|
||||
smtp:
|
||||
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/phone-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "E-mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
},
|
||||
"code": {
|
||||
"identifier": true,
|
||||
"via": "email"
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
"type": "string",
|
||||
"format": "tel",
|
||||
"title": "Phone number",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "sms"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["email", "phone"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
114
contrib/quickstart/kratos/phone-password/kratos.yml
Normal file
114
contrib/quickstart/kratos/phone-password/kratos.yml
Normal file
@@ -0,0 +1,114 @@
|
||||
version: v0.13.0
|
||||
|
||||
dsn: memory
|
||||
|
||||
serve:
|
||||
public:
|
||||
base_url: http://127.0.0.1:4433/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://127.0.0.1:4455/welcome
|
||||
allowed_return_urls:
|
||||
- http://127.0.0.1:4455
|
||||
- http://localhost:19006/Callback
|
||||
- exp://localhost:8081/--/Callback
|
||||
|
||||
methods:
|
||||
password:
|
||||
enabled: true
|
||||
totp:
|
||||
config:
|
||||
issuer: Kratos
|
||||
enabled: true
|
||||
lookup_secret:
|
||||
enabled: true
|
||||
link:
|
||||
enabled: true
|
||||
code:
|
||||
enabled: true
|
||||
|
||||
flows:
|
||||
error:
|
||||
ui_url: http://127.0.0.1:4455/error
|
||||
|
||||
settings:
|
||||
ui_url: http://127.0.0.1:4455/settings
|
||||
privileged_session_max_age: 15m
|
||||
required_aal: highest_available
|
||||
|
||||
recovery:
|
||||
enabled: true
|
||||
ui_url: http://127.0.0.1:4455/recovery
|
||||
use: code
|
||||
|
||||
verification:
|
||||
enabled: true
|
||||
ui_url: http://127.0.0.1:4455/verification
|
||||
use: code
|
||||
after:
|
||||
default_browser_return_url: http://127.0.0.1:4455/welcome
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://127.0.0.1:4455/login
|
||||
|
||||
login:
|
||||
ui_url: http://127.0.0.1:4455/login
|
||||
lifespan: 10m
|
||||
|
||||
registration:
|
||||
lifespan: 10m
|
||||
ui_url: http://127.0.0.1:4455/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
- hook: show_verification_ui
|
||||
|
||||
log:
|
||||
level: debug
|
||||
format: text
|
||||
leak_sensitive_values: true
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
cipher:
|
||||
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
|
||||
|
||||
ciphers:
|
||||
algorithm: xchacha20-poly1305
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
default_schema_id: default
|
||||
schemas:
|
||||
- id: default
|
||||
url: file:///etc/config/kratos/identity.schema.json
|
||||
|
||||
courier:
|
||||
channels:
|
||||
- id: sms
|
||||
type: http
|
||||
request_config:
|
||||
url: https://api.twilio.com/2010-04-01/Accounts/AXXXXXXXXXXXXXX/Messages.json
|
||||
method: POST
|
||||
body: base64://ZnVuY3Rpb24oY3R4KSB7ClRvOiBjdHguUmVjaXBpZW50LApCb2R5OiBjdHguQm9keSwKfQ==
|
||||
headers:
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
auth:
|
||||
type: basic_auth
|
||||
config:
|
||||
user: AXXXXXXX
|
||||
password: XXXX
|
||||
|
||||
feature_flags:
|
||||
use_continue_with_transitions: true
|
||||
50
contrib/quickstart/kratos/webauthn/identity.schema.json
Normal file
50
contrib/quickstart/kratos/webauthn/identity.schema.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Person",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"traits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"title": "E-Mail",
|
||||
"minLength": 3,
|
||||
"ory.sh/kratos": {
|
||||
"credentials": {
|
||||
"password": {
|
||||
"identifier": true
|
||||
},
|
||||
"webauthn": {
|
||||
"identifier": true
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
},
|
||||
"recovery": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"first": {
|
||||
"title": "First Name",
|
||||
"type": "string"
|
||||
},
|
||||
"last": {
|
||||
"title": "Last Name",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["email"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
107
contrib/quickstart/kratos/webauthn/kratos.yml
Normal file
107
contrib/quickstart/kratos/webauthn/kratos.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
version: v0.13.0
|
||||
|
||||
dsn: memory
|
||||
|
||||
serve:
|
||||
public:
|
||||
base_url: http://localhost:4433/
|
||||
cors:
|
||||
enabled: true
|
||||
admin:
|
||||
base_url: http://kratos:4434/
|
||||
|
||||
selfservice:
|
||||
default_browser_return_url: http://localhost:4455/welcome
|
||||
allowed_return_urls:
|
||||
- http://localhost:4455
|
||||
|
||||
methods:
|
||||
password:
|
||||
enabled: false
|
||||
totp:
|
||||
config:
|
||||
issuer: Kratos
|
||||
enabled: true
|
||||
lookup_secret:
|
||||
enabled: true
|
||||
link:
|
||||
enabled: true
|
||||
code:
|
||||
enabled: true
|
||||
webauthn:
|
||||
config:
|
||||
passwordless: true
|
||||
rp:
|
||||
display_name: Your Application name
|
||||
# Set 'id' to the top-level domain.
|
||||
id: localhost
|
||||
# Set 'origin' to the exact URL of the page that prompts the user to use WebAuthn. You must include the scheme, host, and port.
|
||||
origin: http://localhost:4455
|
||||
enabled: true
|
||||
|
||||
flows:
|
||||
error:
|
||||
ui_url: http://localhost:4455/error
|
||||
|
||||
settings:
|
||||
ui_url: http://localhost:4455/settings
|
||||
privileged_session_max_age: 15m
|
||||
required_aal: highest_available
|
||||
|
||||
recovery:
|
||||
enabled: true
|
||||
ui_url: http://localhost:4455/recovery
|
||||
use: code
|
||||
|
||||
verification:
|
||||
enabled: true
|
||||
ui_url: http://localhost:4455/verification
|
||||
use: code
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/welcome
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/login
|
||||
|
||||
login:
|
||||
ui_url: http://localhost:4455/login
|
||||
lifespan: 10m
|
||||
|
||||
registration:
|
||||
lifespan: 10m
|
||||
ui_url: http://localhost:4455/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
- hook: show_verification_ui
|
||||
|
||||
log:
|
||||
level: debug
|
||||
format: text
|
||||
leak_sensitive_values: true
|
||||
|
||||
secrets:
|
||||
cookie:
|
||||
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
|
||||
cipher:
|
||||
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
|
||||
|
||||
ciphers:
|
||||
algorithm: xchacha20-poly1305
|
||||
|
||||
hashers:
|
||||
algorithm: bcrypt
|
||||
bcrypt:
|
||||
cost: 8
|
||||
|
||||
identity:
|
||||
default_schema_id: default
|
||||
schemas:
|
||||
- id: default
|
||||
url: file:///etc/config/kratos/identity.schema.json
|
||||
|
||||
courier:
|
||||
smtp:
|
||||
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
|
||||
Reference in New Issue
Block a user