-
Notifications
You must be signed in to change notification settings - Fork 424
chore: update iframe doc #2263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
chore: update iframe doc #2263
Conversation
@@ -5,12 +5,26 @@ sidebar_label: Troubleshooting iframes | |||
--- | |||
|
|||
Iframes can pose a significant security risk for authentication services due to many attack vectors such as clickjacking, iframe | |||
injection, iframe phishing, and many others. | |||
injection, iframe phishing, and many others. Most browsers have implemented measures to block cookies in iframe contexts, which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
injection, iframe phishing, and many others. Most browsers have implemented measures to block cookies in iframe contexts, which | |
injection, iframe phishing, and others. Most browsers have implemented measures to block cookies in iframe contexts that |
@@ -5,12 +5,26 @@ sidebar_label: Troubleshooting iframes | |||
--- | |||
|
|||
Iframes can pose a significant security risk for authentication services due to many attack vectors such as clickjacking, iframe | |||
injection, iframe phishing, and many others. | |||
injection, iframe phishing, and many others. Most browsers have implemented measures to block cookies in iframe contexts, which | |||
breaks authentication, CSRF-prevention, and sessions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
breaks authentication, CSRF-prevention, and sessions. | |
break authentication, CSRF-prevention, and sessions. |
[Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/) that blocks third-party cookies | ||
by default in iframe contexts, which breaks authentication, CSRF-prevention, and sessions. Chrome is planning on rolling out the | ||
same changes in 2024. | ||
- Safari has implemented [Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/) that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Safari has implemented [Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/) that | |
- Safari has implemented [Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/) which |
blocks third-party cookies by default. | ||
- Firefox has implemented | ||
[Total Cookie Protection](https://blog.mozilla.org/en/mozilla/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-worldwide/) | ||
by default. This gives third-party cookies a separate cookie jar per site, preventing cross-site tracking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by default. This gives third-party cookies a separate cookie jar per site, preventing cross-site tracking. | |
which gives third-party cookies a separate cookie jar per site by default, preventing cross-site tracking. |
- Firefox has implemented | ||
[Total Cookie Protection](https://blog.mozilla.org/en/mozilla/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-worldwide/) | ||
by default. This gives third-party cookies a separate cookie jar per site, preventing cross-site tracking. | ||
- Google Chrome only blocks third-party cookies in Incognito mode by default, but users can set it to block all third-party |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Google Chrome only blocks third-party cookies in Incognito mode by default, but users can set it to block all third-party | |
- Google Chrome only blocks third-party cookies in Incognito mode by default, but users can set Google Chrome to block all third-party |
[Total Cookie Protection](https://blog.mozilla.org/en/mozilla/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-worldwide/) | ||
by default. This gives third-party cookies a separate cookie jar per site, preventing cross-site tracking. | ||
- Google Chrome only blocks third-party cookies in Incognito mode by default, but users can set it to block all third-party | ||
cookies. As alternative Google implemented FedCM, which Ory supports as well, read more about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cookies. As alternative Google implemented FedCM, which Ory supports as well, read more about | |
cookies in regular mode. As an alternative, Google has implemented FedCM, which Ory supports. Read more about |
- Google Chrome only blocks third-party cookies in Incognito mode by default, but users can set it to block all third-party | ||
cookies. As alternative Google implemented FedCM, which Ory supports as well, read more about | ||
[FedCM](../kratos/social-signin/fedcm.mdx). | ||
- Edge blocks trackers by default. Microsoft are also exploring blocking third-party cookies in Edge by default. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Edge blocks trackers by default. Microsoft are also exploring blocking third-party cookies in Edge by default. | |
- Edge blocks trackers by default. Microsoft is also exploring blocking third-party cookies in Edge by default. |
browsers that iframes can not be used with the Ory Account Experience. | ||
:::danger | ||
|
||
Authentication flows Login, registration, MFA and other identity flows must not be embedded inside an iframe! Embedding these |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Authentication flows Login, registration, MFA and other identity flows must not be embedded inside an iframe! Embedding these | |
Identity flows, such as authentication, login, registration, and MFA, must not be embedded inside an iframe! Embedding these |
:::danger | ||
|
||
Authentication flows Login, registration, MFA and other identity flows must not be embedded inside an iframe! Embedding these | ||
flows increases risk of phising, session hijacking, and click jacking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flows increases risk of phising, session hijacking, and click jacking. | |
flows increases the risk of phishing, session hijacking, and clickjacking. |
::: | ||
|
||
Ory has implemented HTTP headers (`X-Frame-Options: DENY` and `Content-Security-Policy: frame-ancestors 'none'`) to indicate to | ||
browsers that iframes can't be used with the Ory Account Experience. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
browsers that iframes can't be used with the Ory Account Experience. | |
browsers that iframes can't be used with the Ory Account Experience self-service user flows. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed typos and added clarification for Ory Account Experience
Related Issue or Design Document
Checklist
If this pull request addresses a security vulnerability,
I confirm that I got approval (please contact [email protected]) from the maintainers to push the changes.
Further comments