Skip to content

Commit 3c9d422

Browse files
author
t-tomalak
committed
Merge tag 'v0.7.0-alpha.1' into fandom_master_v0.7.0
About two months ago we released Ory Kratos v0.6. Today, we are excited to announce the next iteration of Ory Kratos v0.7! This release includes 215 commits from 24 contributors with over 770 files and more than 100.000 lines of code changed! Ory Kratos v0.7 brings massive developer experience improvements: - A reworked, tested, and standardized SDK based on OpenAPI 3.0.3 ([ory#1477](ory#1477), [ory#1424](ory#1424)); - Native support of Single-Page-Apps (ReactJS, AngularJS, ...) for all self-service flows ([ory#1367](ory#1367)); - Sign in with Yandex, VK, Auth0, Slack; - An all-new, secure logout flow ([ory#1433](ory#1433)); - Important security updates to the self-service GET APIs ([ory#1458](ory#1458), [ory#1282](ory#1282)); - Built-in support for TLS ([ory#1466](ory#1466)); - Improved documentation and Go Module structure; - Resolving a case-sensitivity bug in self-service recovery and verification flows; - Improved performance for listing identities; - Support for Instant tracing ([ory#1429](ory#1429)); - Improved control for SMTPS, supporting SSL and STARTTLS ([ory#1430](ory#1430)); - Ability to run Ory Kratos in networks without outbound requests ([ory#1445](ory#1445)); - Improved control over HTTP Cookie behavior ([ory#1531](ory#1531)); - Several smaller user experience improvements and bug fixes; - Improved e2e test pipeline. In the next iteration of Ory Kratos, we will focus on providing a NextJS example application for the SPA integration as well as the long-awaited MFA flows! Please be aware that upgrading to Ory Kratos 0.7 requires you to apply SQL migrations. Make sure to back up your database before migration! For more details on breaking changes and patch notes, see below.
2 parents ff138e4 + 53a0e38 commit 3c9d422

File tree

773 files changed

+52450
-47746
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

773 files changed

+52450
-47746
lines changed

.circleci/config.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ jobs:
4848
- checkout
4949
- setup_remote_docker
5050

51+
- go/load-cache:
52+
key: ory-kratos-go-mod-v1
53+
- go/mod-download
54+
- go/save-cache:
55+
key: ory-kratos-go-mod-v1
56+
5157
- prettier/install
5258
- prettier/check
5359
- prettier/install:
@@ -59,15 +65,13 @@ jobs:
5965

6066
- golangci/install
6167
- golangci/lint
62-
- go/load-cache
63-
- go/mod-download
64-
- go/save-cache
6568
- node/install-packages
6669
- run: timeout 15 sh -c 'until nc -z $0 $1; do sleep 1; done' 127.0.0.1 4444
6770
- run: make install
6871
- run: make test-docs
6972
- run: make test-coverage
70-
- run: test -z "$CIRCLE_PR_NUMBER" && goveralls -service=circle-ci -coverprofile=coverage.txt -repotoken=$COVERALLS_REPO_TOKEN || echo "forks are not allowed to push to coveralls"
73+
- run: |
74+
bash <(curl -s https://codecov.io/bash)
7175
7276
test-e2e:
7377
docker:
@@ -172,14 +176,14 @@ workflows:
172176
ignore: /master/
173177
- docs/cli
174178
- docs/build:
175-
swag-spec-location: spec/openapi.json
179+
swag-spec-location: spec/api.json
176180
filters:
177181
tags:
178182
only: /.*/
179183
branches:
180184
only: master
181185
- sdk/release-openapi:
182-
swagpath: spec/openapi.json
186+
swagpath: spec/api.json
183187
requires:
184188
- test
185189
- test-e2e
@@ -209,6 +213,7 @@ workflows:
209213
tags:
210214
only: /.*/
211215
- goreleaser/render-version-schema:
216+
schema-path: driver/config/.schema/config.schema.json
212217
requires:
213218
- goreleaser/release
214219
filters:

.docker/Dockerfile-build

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ WORKDIR /go/src/github.com/ory/kratos
77
ADD go.mod go.mod
88
ADD go.sum go.sum
99
ADD internal/httpclient/go.* internal/httpclient/
10-
ADD corp/go.* corp/
1110

1211
ENV GO111MODULE on
1312
ENV CGO_ENABLED 1

.github/pull_request_template.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
1-
## Related issue
1+
<!--
2+
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
3+
4+
This text will be included in the changelog. If applicable, include links to documentation or pieces of code.
5+
If your change includes breaking changes please add a codeblock documenting the breaking change:
6+
7+
```
8+
BREAKING CHANGES: This patch changes the behavior of configuration item `foo` to do bar. To keep the existing
9+
behavior please do baz.
10+
```
11+
-->
12+
13+
## Related issue(s)
214

315
<!--
416
Please link the GitHub issue this pull request resolves in the format of `#1234`. If you discussed this change
@@ -11,20 +23,19 @@ You can discuss changes with maintainers either in the Github Discusssions in th
1123
join the [Ory Chat](https://www.ory.sh/chat).
1224
-->
1325

14-
## Proposed changes
26+
## Checklist
1527

1628
<!--
17-
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
18-
-->
29+
Put an `x` in the boxes that apply. You can also fill these out after creating the PR.
1930
20-
## Checklist
31+
Please be aware that pull requests must have all boxes ticked in order to be merged.
2132
22-
<!--
23-
Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of
24-
them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.
33+
If you're unsure about any of them, don't hesitate to ask. We're here to help!
2534
-->
2635

2736
- [ ] I have read the [contributing guidelines](../blob/master/CONTRIBUTING.md).
37+
- [ ] I am following the
38+
[contributing code guidelines](../blob/master/CONTRIBUTING.md#contributing-code).
2839
- [ ] I have read the [security policy](../security/policy).
2940
- [ ] I confirm that this pull request does not address a security
3041
vulnerability. If this pull request addresses a security. vulnerability, I
@@ -35,7 +46,7 @@ them, don't hesitate to ask. We're here to help! This is simply a reminder of wh
3546
works.
3647
- [ ] I have added or changed [the documentation](docs/docs).
3748

38-
## Further comments
49+
## Further Comments
3950

4051
<!--
4152
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ cover.out
33
tmp/
44
.DS_Store
55
./kratos
6-
coverage.txt
76
packrd/
87
*-packr.go
98
dist/
@@ -13,3 +12,4 @@ test/e2e/cypress/videos
1312
test/e2e/cypress/screenshots
1413
test/e2e/.bin
1514
pkged.go
15+
coverage.*

.schema/openapi/gen.go.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
disallowAdditionalPropertiesIfNotPresent: true
2-
packageName: kratos
3-
generateInterfaces: false
2+
packageName: client
3+
generateInterfaces: true
44
isGoSubmodule: false
55
structPrefix: true
6+
enumClassPrefix: true

.schema/openapi/patches/meta.yaml

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,3 @@
1414
name: Apache 2.0
1515
contact:
1616
17-
18-
- op: replace
19-
path: /components/securitySchemes/sessionCookie
20-
value:
21-
type: apiKey
22-
in: cookie
23-
name: ory_kratos_session
24-
25-
- op: replace
26-
path: /tags
27-
value:
28-
- name: admin
29-
description: All administrative API endpoints exposed at the admin API port.
30-
externalDocs:
31-
url: https://www.ory.sh/kratos/docs/reference/api
32-
- name: public
33-
description: All public API endpoints exposed at the public API port.
34-
externalDocs:
35-
url: https://www.ory.sh/kratos/docs/reference/api

.schema/openapi/patches/schema.yaml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,9 @@
1515
- op: add
1616
path: /components/schemas/uiNodeInputAttributes/properties/value/nullable
1717
value: true
18-
- op: replace
19-
path: /components/schemas/uiNodeInputAttributesValue
20-
value:
21-
oneOf:
22-
- type: string
23-
- type: number
24-
- type: boolean
25-
- op: add
26-
path: /components/schemas/uiNodeInputAttributes/properties/value/$ref
27-
value: "#/components/schemas/uiNodeInputAttributesValue"
2818

2919
- op: replace
30-
path: /components/schemas/selfServiceErrorContainer/properties/errors/type
31-
value: array
32-
- op: replace
33-
path: /components/schemas/selfServiceErrorContainer/properties/errors/items
20+
path: /components/schemas/selfServiceError/properties/error
3421
value:
3522
type: object
3623

.schema/openapi/patches/security.yaml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
- op: replace
2-
path: /components/securitySchemes/oryToken
3-
value:
4-
type: http
5-
scheme: bearer
6-
7-
- op: replace
8-
path: /components/securitySchemes/sessionToken
2+
path: /components/securitySchemes/oryAccessToken
93
value:
104
type: http
115
scheme: bearer
6+
description: |
7+
This security mechanism is only applicable when using the [Ory Platform](https://console.ory.sh) by
8+
creating an [Ory Personal Access Token](https://www.ory.sh/docs/guides/create-personal-access-token).
9+
If you are using the open source version, this security mechanism
10+
will not work out of the box as you will need to add a security mechanism yourself.
Lines changed: 122 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,134 @@
11
# Makes submitSelfServiceLoginFlowPayload polymorph
2+
#- op: remove
3+
# path: /components/schemas/submitSelfServiceLoginFlowBody/type
4+
#- op: add
5+
# path: /components/schemas/submitSelfServiceLoginFlowBody/oneOf
6+
# value:
7+
# - "$ref": "#/components/schemas/submitSelfServiceLoginFlowWithPasswordMethod"
8+
9+
# Makes submitSelfServiceRegistrationFlowPayload polymorph
10+
11+
# All modifications for the registration flow
212
- op: remove
3-
path: /components/schemas/submitSelfServiceLoginFlow/type
13+
path: /components/schemas/submitSelfServiceRegistrationFlowBody/type
14+
- op: add
15+
path: /components/schemas/submitSelfServiceRegistrationFlowWithPasswordMethodBody/properties/method/enum
16+
value:
17+
- password
18+
- oidc
419
- op: add
5-
path: /components/schemas/submitSelfServiceLoginFlow/oneOf
20+
path: /components/schemas/submitSelfServiceRegistrationFlowBody/oneOf
621
value:
7-
- "$ref": "#/components/schemas/submitSelfServiceLoginFlowWithPasswordMethod"
22+
- "$ref": "#/components/schemas/submitSelfServiceRegistrationFlowWithPasswordMethodBody"
23+
- op: add
24+
path: /components/schemas/submitSelfServiceRegistrationFlowBody/discriminator
25+
value:
26+
propertyName: method
27+
mapping:
28+
password: "#/components/schemas/submitSelfServiceRegistrationFlowWithPasswordMethodBody"
29+
oidc: "#/components/schemas/submitSelfServiceRegistrationFlowWithOidcMethodBody"
30+
# end
831

9-
# Makes submitSelfServiceRegistrationFlowPayload polymorph
32+
# All modifications for the login flow
33+
- op: remove
34+
path: /components/schemas/submitSelfServiceLoginFlowBody/type
35+
- op: add
36+
path: /components/schemas/submitSelfServiceLoginFlowWithPasswordMethodBody/properties/method/enum
37+
value:
38+
- password
39+
- oidc
40+
- op: add
41+
path: /components/schemas/submitSelfServiceLoginFlowBody/oneOf
42+
value:
43+
- "$ref": "#/components/schemas/submitSelfServiceLoginFlowWithPasswordMethodBody"
44+
- op: add
45+
path: /components/schemas/submitSelfServiceLoginFlowBody/discriminator
46+
value:
47+
propertyName: method
48+
mapping:
49+
password: "#/components/schemas/submitSelfServiceLoginFlowWithPasswordMethodBody"
50+
oidc: "#/components/schemas/submitSelfServiceLoginFlowWithOidcMethodBody"
51+
# end
52+
53+
# All modifications for the recovery flow
54+
- op: remove
55+
path: /components/schemas/submitSelfServiceRecoveryFlowBody/type
56+
- op: add
57+
path: /components/schemas/submitSelfServiceRecoveryFlowWithLinkMethodBody/properties/method/enum
58+
value:
59+
- password
60+
- oidc
61+
- op: add
62+
path: /components/schemas/submitSelfServiceRecoveryFlowBody/oneOf
63+
value:
64+
- "$ref": "#/components/schemas/submitSelfServiceRecoveryFlowWithLinkMethodBody"
65+
- op: add
66+
path: /components/schemas/submitSelfServiceRecoveryFlowBody/discriminator
67+
value:
68+
propertyName: method
69+
mapping:
70+
link: "#/components/schemas/submitSelfServiceRecoveryFlowWithLinkMethodBody"
71+
- op: add
72+
path: /components/schemas/selfServiceRecoveryFlowState/enum
73+
value:
74+
- choose_method
75+
- sent_email
76+
- passed_challenge
77+
# End
78+
79+
# All modifications for the verification flow
1080
- op: remove
11-
path: /components/schemas/submitSelfServiceRegistrationFlow/type
81+
path: /components/schemas/submitSelfServiceVerificationFlowBody/type
82+
- op: add
83+
path: /components/schemas/submitSelfServiceVerificationFlowWithLinkMethodBody/properties/method/enum
84+
value:
85+
- password
86+
- oidc
87+
- op: add
88+
path: /components/schemas/submitSelfServiceVerificationFlowBody/oneOf
89+
value:
90+
- "$ref": "#/components/schemas/submitSelfServiceVerificationFlowWithLinkMethodBody"
1291
- op: add
13-
path: /components/schemas/submitSelfServiceRegistrationFlow/oneOf
92+
path: /components/schemas/submitSelfServiceVerificationFlowBody/discriminator
1493
value:
15-
- "$ref": "#/components/schemas/submitSelfServiceRegistrationFlowWithPasswordMethod"
94+
propertyName: method
95+
mapping:
96+
link: "#/components/schemas/submitSelfServiceVerificationFlowWithLinkMethodBody"
97+
- op: add
98+
path: /components/schemas/selfServiceVerificationFlowState/enum
99+
value:
100+
- choose_method
101+
- sent_email
102+
- passed_challenge
103+
# End
104+
16105

17-
# Makes submitSelfServiceSettingsFlow polymorph
106+
107+
# All modifications for the settings flow
18108
- op: remove
19-
path: /components/schemas/submitSelfServiceSettingsFlow/type
109+
path: /components/schemas/submitSelfServiceSettingsFlowBody/type
110+
- op: add
111+
path: /components/schemas/submitSelfServiceSettingsFlowWithPasswordMethodBody/properties/method/enum
112+
value:
113+
- password
114+
- profile
115+
- oidc
116+
- op: add
117+
path: /components/schemas/submitSelfServiceSettingsFlowBody/oneOf
118+
value:
119+
- "$ref": "#/components/schemas/submitSelfServiceSettingsFlowWithPasswordMethodBody"
120+
- "$ref": "#/components/schemas/submitSelfServiceSettingsFlowWithProfileMethodBody"
121+
- op: add
122+
path: /components/schemas/submitSelfServiceSettingsFlowBody/discriminator
123+
value:
124+
propertyName: method
125+
mapping:
126+
password: "#/components/schemas/submitSelfServiceSettingsFlowWithPasswordMethodBody"
127+
profile: "#/components/schemas/submitSelfServiceSettingsFlowWithProfileMethodBody"
128+
oidc: "#/components/schemas/submitSelfServiceSettingsFlowWithOidcMethodBody"
20129
- op: add
21-
path: /components/schemas/submitSelfServiceSettingsFlow/oneOf
130+
path: /components/schemas/selfServiceSettingsFlowState/enum
22131
value:
23-
- "$ref": "#/components/schemas/submitSelfServiceSettingsFlowWithPasswordMethod"
24-
- "$ref": "#/components/schemas/submitSelfServiceSettingsFlowWithProfileMethod"
132+
- show_form
133+
- success
134+
# end

.schema/openapi/patches/session.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
- op: add
2+
path: /paths/~1sessions~1whoami/get/parameters/0/example
3+
value: MP2YWEMeM8MxjkGKpH4dqOQ4Q4DlSPaj
4+
- op: add
5+
path: /paths/~1sessions~1whoami/get/parameters/1/example
6+
value: ory_kratos_session=a19iOVAbdzdgl70Rq1QZmrKmcjDtdsviCTZx7m9a9yHIUS8Wa9T7hvqyGTsLHi6Qifn2WUfpAKx9DWp0SJGleIn9vh2YF4A16id93kXFTgIgmwIOvbVAScyrx7yVl6bPZnCx27ec4WQDtaTewC1CpgudeDV2jQQnSaCP6ny3xa8qLH-QUgYqdQuoA_LF1phxgRCUfIrCLQOkolX5nv3ze_f==

0 commit comments

Comments
 (0)