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:
72
test/e2e/profiles/oidc/.kratos.yml
Normal file
72
test/e2e/profiles/oidc/.kratos.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
selfservice:
|
||||
methods:
|
||||
oidc:
|
||||
enabled: true
|
||||
config:
|
||||
providers:
|
||||
- id: hydra
|
||||
label: Ory
|
||||
provider: generic
|
||||
client_id: ${OIDC_HYDRA_CLIENT_ID}
|
||||
client_secret: ${OIDC_HYDRA_CLIENT_SECRET}
|
||||
issuer_url: http://localhost:4444/
|
||||
scope:
|
||||
- offline
|
||||
mapper_url: file://test/e2e/profiles/oidc/hydra.jsonnet
|
||||
- id: google
|
||||
provider: generic
|
||||
client_id: ${OIDC_GOOGLE_CLIENT_ID}
|
||||
client_secret: ${OIDC_GOOGLE_CLIENT_SECRET}
|
||||
issuer_url: http://localhost:4444/
|
||||
scope:
|
||||
- offline
|
||||
mapper_url: file://test/e2e/profiles/oidc/hydra.jsonnet
|
||||
- id: github
|
||||
provider: generic
|
||||
client_id: ${OIDC_GITHUB_CLIENT_ID}
|
||||
client_secret: ${OIDC_GITHUB_CLIENT_SECRET}
|
||||
issuer_url: http://localhost:4444/
|
||||
scope:
|
||||
- offline
|
||||
mapper_url: file://test/e2e/profiles/oidc/hydra.jsonnet
|
||||
|
||||
flows:
|
||||
settings:
|
||||
privileged_session_max_age: 5m
|
||||
ui_url: http://localhost:4455/settings
|
||||
|
||||
logout:
|
||||
after:
|
||||
default_browser_return_url: http://localhost:4455/login
|
||||
|
||||
registration:
|
||||
enable_legacy_one_step: true
|
||||
ui_url: http://localhost:4455/registration
|
||||
after:
|
||||
password:
|
||||
hooks:
|
||||
- hook: session
|
||||
oidc:
|
||||
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
|
||||
|
||||
identity:
|
||||
schemas:
|
||||
- id: default
|
||||
url: file://test/e2e/profiles/oidc/identity.traits.schema.json
|
||||
|
||||
secrets:
|
||||
cipher:
|
||||
- secret-thirty-two-character-long
|
||||
|
||||
session:
|
||||
whoami:
|
||||
required_aal: aal1
|
||||
13
test/e2e/profiles/oidc/hydra.jsonnet
Normal file
13
test/e2e/profiles/oidc/hydra.jsonnet
Normal file
@@ -0,0 +1,13 @@
|
||||
local claims = std.extVar('claims');
|
||||
|
||||
if std.length(claims.sub) == 0 then
|
||||
error 'claim sub not set'
|
||||
else
|
||||
{
|
||||
identity: {
|
||||
traits: {
|
||||
email: claims.sub,
|
||||
[if "website" in claims then "website" else null]: claims.website
|
||||
},
|
||||
},
|
||||
}
|
||||
80
test/e2e/profiles/oidc/identity-required.traits.schema.json
Normal file
80
test/e2e/profiles/oidc/identity-required.traits.schema.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"$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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"website": {
|
||||
"title": "Website",
|
||||
"type": "string",
|
||||
"format": "uri",
|
||||
"minLength": 10
|
||||
},
|
||||
"consent": {
|
||||
"title": "Consent",
|
||||
"type": "boolean"
|
||||
},
|
||||
"newsletter": {
|
||||
"title": "Newsletter",
|
||||
"type": "boolean"
|
||||
},
|
||||
"nested": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"b": {
|
||||
"title": " optional B",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirednested": {
|
||||
"title": "required nested",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"a": {
|
||||
"title": "Required A",
|
||||
"const": true
|
||||
},
|
||||
"b": {
|
||||
"title": "Required optional B",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"a"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"email",
|
||||
"website",
|
||||
"requirednested",
|
||||
"consent"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
52
test/e2e/profiles/oidc/identity.traits.schema.json
Normal file
52
test/e2e/profiles/oidc/identity.traits.schema.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"$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"
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"via": "email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"website": {
|
||||
"title": "Website",
|
||||
"type": "string",
|
||||
"format": "uri",
|
||||
"minLength": 10
|
||||
},
|
||||
"consent": {
|
||||
"title": "Consent",
|
||||
"type": "boolean"
|
||||
},
|
||||
"newsletter": {
|
||||
"title": "Newsletter",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": ["email", "website"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user