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

This commit is contained in:
upstream-mirror
2026-09-15 21:19:12 +05:00
commit c60cc7ca75
8092 changed files with 394160 additions and 0 deletions

76
identity/stub/aal.json Normal file
View File

@@ -0,0 +1,76 @@
[
{
"description": "password is available aal1",
"expected": "aal1",
"credentials": [
{
"type": "password",
"identifiers": [
"{email}"
],
"config": {
"hashed_password": "$2a$fake"
}
}
]
},
{
"description": "password without identifier is no credential and ergo aal0",
"expected": "aal0",
"credentials": [
{
"type": "password",
"config": {
"hashed_password": "$2a$fake"
}
}
]
},
{
"description": "second factor totp returns available aal2 even if no password is set",
"expected": "aal2",
"credentials": [
{
"type": "totp",
"config": {
"totp_url": "totp://"
}
}
]
},
{
"description": "second factor totp returns aal0 if totp credentials is not set up",
"expected": "aal0",
"credentials": [
{
"type": "totp",
"identifiers": [
"{email}"
],
"config": {}
}
]
},
{
"description": "password and totp is also available aal2",
"expected": "aal1",
"credentials": [
{
"type": "password",
"identifiers": [
"{email}"
],
"config": {
"hashed_password": "$2a$fake"
}
},
{
"type": "totp",
"identifiers": [
"{email}"
],
"config": {}
}
]
}
]

View File

@@ -0,0 +1,49 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"traits": {
"additionalProperties": false,
"properties": {
"email": {
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"totp": {
"account_name": true
}
},
"recovery": {
"via": "email"
},
"verification": {
"via": "email"
}
},
"title": "Email address",
"type": "string",
"maxLength": 320
},
"name": {
"minLength": 1,
"title": "Name",
"type": "string",
"maxLength": 256
}
},
"required": [
"email",
"name"
],
"type": "object"
}
},
"title": "Person",
"type": "object"
}

View File

@@ -0,0 +1,49 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
},
"names": {
"type": "array",
"items": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
}
},
"age": {
"description": "Age in years which must be equal to or greater than zero.",
"type": "integer",
"minimum": 1
}
},
"required": [
"email"
]
}
},
"required": [
"traits"
],
"additionalProperties": false
}

View File

@@ -0,0 +1,18 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "no-validate",
"pattern": "^(?:[a-zA-Z0-9!#$%&'*+\\=?^_`{|}~.\\-]+@(?:docomo\\.ne\\.jp|softbank\\.ne\\.jp)|[a-zA-Z0-9!#$%&'*+\\=?^_`{|}~\\-]+(?:\\.[a-zA-Z0-9!#$%&'*+\\=?^_`{|}~\\-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*)$",
"ory.sh/kratos": {
"credentials": {
"code": {
"identifier": true,
"via": "email"
}
}
}
}
}
}

View File

@@ -0,0 +1,77 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"code": {
"identifier": true,
"via": "email"
}
}
}
},
"email2": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"code": {
"identifier": true,
"via": "email"
}
}
}
},
"email3": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"code": {
"identifier": true,
"via": "email"
}
}
}
},
"phone": {
"type": "string",
"format": "tel",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"code": {
"identifier": true,
"via": "sms"
}
}
}
}
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"code": {
"identifier": true,
"via": "email"
}
}
}
}
}
}

View File

@@ -0,0 +1,44 @@
{
"$id": "https://schemas.ory.sh/presets/kratos/identity.email.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"title": "E-Mail",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
},
"totp": {
"account_name": true
},
"code": {
"identifier": true,
"via": "email"
},
"passkey": {
"display_name": true
}
},
"recovery": {
"via": "email"
},
"verification": {
"via": "email"
}
},
"maxLength": 320
}
},
"required": [
"email"
],
"additionalProperties": false
}

View File

@@ -0,0 +1,32 @@
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
}
}
}
}
},
"username": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
}
}
}

View File

@@ -0,0 +1,16 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
}
}
}

View File

@@ -0,0 +1,19 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"webauthn": {
"identifier": true
}
}
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
},
"username": {
"type": "string",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
}
}

View File

@@ -0,0 +1,15 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "no-validate",
"pattern": "^[a-zA-Z0-9!#$%&'*+\\=?^_`{|}~.\\-]+@docomo\\.ne\\.jp$",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
},
"username": {
"type": "string",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
}
}

View File

@@ -0,0 +1,32 @@
{
"type": "object",
"properties": {
"telephoneNumber": {
"type": "string",
"format": "tel",
"title": "Telephone Number",
"minLength": 3,
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
},
"code": {
"identifier": true,
"via": "sms"
}
},
"verification": {
"via": "sms"
},
"recovery": {
"via": "sms"
}
}
}
},
"required": [
"telephoneNumber"
],
"additionalProperties": false
}

View File

@@ -0,0 +1,24 @@
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"ory.sh/kratos": {
"verification": {
"via": "email"
}
}
}
},
"username": {
"type": "string",
"ory.sh/kratos": {
"verification": {
"via": "email"
}
}
}
}
}

View File

@@ -0,0 +1,13 @@
{
"type": "object",
"properties": {
"email": {
"type": "string",
"ory.sh/kratos": {
"verification": {
"via": "email"
}
}
}
}
}

View File

@@ -0,0 +1,13 @@
{
"type": "object",
"properties": {
"phone": {
"type": "string",
"ory.sh/kratos": {
"verification": {
"via": "sms"
}
}
}
}
}

View File

@@ -0,0 +1,14 @@
{
"type": "object",
"properties": {
"phone": {
"type": "string",
"format": "noformat",
"ory.sh/kratos": {
"verification": {
"via": "sms"
}
}
}
}
}

View File

@@ -0,0 +1,26 @@
{
"type": "object",
"properties": {
"phones": {
"type": "array",
"items": {
"type": "string",
"format": "tel",
"ory.sh/kratos": {
"verification": {
"via": "sms"
}
}
}
},
"username": {
"type": "string",
"format": "tel",
"ory.sh/kratos": {
"verification": {
"via": "sms"
}
}
}
}
}

View File

@@ -0,0 +1,33 @@
{
"$id": "https://example.com/customer.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"additionalProperties": false,
"type": "object",
"properties": {
"address": {
"type": "string"
},
"email": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
},
"verification": {
"via": "email"
},
"recovery": {
"via": "email"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,32 @@
{
"$id": "https://example.com/employee.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"department": {
"type": "string"
},
"email": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
},
"verification": {
"via": "email"
},
"recovery": {
"via": "email"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,40 @@
{
"$id": "https://example.com/customer.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
},
"verification": {
"via": "email"
},
"recovery": {
"via": "email"
}
}
}
},
"username": {
"type": "string",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
}
}
}
}
}

View File

@@ -0,0 +1,16 @@
{
"$id": "https://example.com/registration.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"bar": {
"type": "string"
}
}
}
}
}

View File

@@ -0,0 +1,26 @@
{
"$id": "https://example.com/registration.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"bar": {
"type": "string"
},
"email": {
"type": "string",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
}
}
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "https://example.com/registration.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"bar": {
"type": "string"
},
"email": {
"$ref": "http://192.168.178.1:1234/"
}
}
}
}
}

View File

@@ -0,0 +1,70 @@
{
"$id": "https://example.com/person.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"type": "object",
"properties": {
"traits": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
},
"email_creds": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"password": {
"identifier": true
}
}
}
},
"email_webauthn": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"credentials": {
"webauthn": {
"identifier": true
}
}
}
},
"email_verify": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"verification": {
"via": "email"
}
}
},
"email_recovery": {
"type": "string",
"format": "email",
"ory.sh/kratos": {
"recovery": {
"via": "email"
}
}
},
"unprotected": {
"type": "string"
}
},
"required": [
]
}
},
"additionalProperties": false
}

View File

@@ -0,0 +1,28 @@
{
"credentials": [
{
"id": "HQ4LaIJ9NiqS1r0CQpWY+K0gMvhOq4yk5BHuO/YlitcurSpBK7weDXOvBcuN4lvn6DAmjGfmj/J/6bpOmtdT8Q==",
"public_key": "pQECAyYgASFYILAYFLoH1T8bQMSbPrNBCMMS5U7OFWRwv2U+GkAoiBADIlggBv+8ni7XVZYBB8ufMbP/d9fDxbmOkVVHOgcJifnoOR4=",
"attestation_type": "none",
"authenticator": {
"aaguid": "AAAAAAAAAAAAAAAAAAAAAA==",
"sign_count": 4,
"clone_warning": false
},
"display_name": "asdf",
"added_at": "2022-02-28T16:40:39Z"
},
{
"id": "1Q4LaIJ9NiqS1r0CQpWY+K0gMvhOq4yk5BHuO/YlitcurSpBK7weDXOvBcuN4lvn6DAmjGfmj/J/6bpOmtdT8Q==",
"public_key": "pQECAyYgASFYILAYFLoH1T8bQMSbPrNBCMMS5U7OFWRwv2U+GkAoiBADIlggBv+8ni7XVZYBB8ufMbP/d9fDxbmOkVVHOgcJifnoOR4=",
"attestation_type": "none",
"authenticator": {
"aaguid": "AAAAAAAAAAAAAAAAAAAAAA==",
"sign_count": 4,
"clone_warning": false
},
"display_name": "asdf",
"added_at": "2022-02-28T16:40:39Z"
}
]
}

View File

@@ -0,0 +1,18 @@
{
"credentials": [
{
"id": "HQ4LaIJ9NiqS1r0CQpWY+K0gMvhOq4yk5BHuO/YlitcurSpBK7weDXOvBcuN4lvn6DAmjGfmj/J/6bpOmtdT8Q==",
"public_key": "pQECAyYgASFYILAYFLoH1T8bQMSbPrNBCMMS5U7OFWRwv2U+GkAoiBADIlggBv+8ni7XVZYBB8ufMbP/d9fDxbmOkVVHOgcJifnoOR4=",
"attestation_type": "none",
"authenticator": {
"aaguid": "AAAAAAAAAAAAAAAAAAAAAA==",
"sign_count": 4,
"clone_warning": false
},
"display_name": "asdf",
"added_at": "2022-02-28T16:40:39Z",
"is_passwordless": true
}
],
"user_handle":"2gZaSs9fTEeGmsBlC4gfgg=="
}