SlideShare a Scribd company logo
1 of 24
BROWSER CHANGES
IMPACTING IDENTITY FLOWS
NISO WORKSHOP
INTRODUCTION
SameSite Policy Impacts
ITP Policy Impacts
Browser “VPNs” to mask browser IP addresses
navigator.isLoggedIn() proposal / WebID
Bounce Tracking Prevention
HTTP State Tokens
SAMESITE POLICY CHANGES
SameSite=Strict
● Only sent when page loaded in the browser exactly matches
the domain of the cookie
SameSite=Lax
● Cookie is sent from a non-matching domain if and only if
the user explicitly clicks a link that initiated the load of the
off-domain page
SameSite=None; Secure
● The default that we have today except that these cookies will
only be sent over secure connections (HTTPS)
WHAT IS AFFECTED BY SAMESITE=STRICT
It’s fair to say that mostly everything, Client requesting an
authentication/authorization response from an AS through the
regular browser redirect flow will get hindered like so
● The RP session cookie (in which regularly nonce and state is stored) will not
be sent with the callback.
● The OP session cookie will not be sent with the redirect and therefore AS will
resolve to authenticating the end-user again. It will set a new session cookie
and the old one will become orphaned.
● When an AS redirects to an upstream IdP (facebook, google, etc) it won’t be
able to consume the callback since then we are the RP and we can’t load our
session cookie with the state/nonce details we need to consume a callback.
WHAT IS AFFECTED BY SAMESITE=LAX
Any hidden iframe mechanism
● response_mode=web_message used for silently renewing
tokens, the origin of the request is not the AS hence the AS
session cookie is disqualified from being sent.
● OIDC Session Management and Logout Specifications
○ Session Status Change Notification - the origin of the request is not
the AS hence the individual RP session state cookies are disqualified
from being accessible to the javascript context.
○ Front-Channel RP Logout iframe - the origin of the request is not
the RP website hence the RP session cookies are disqualified from
being sent.
WHAT IS AFFECTED BY SAMESITE=LAX
POST based protocol messages
● response_mode=form_post used to return tokens via the front-channel but
directly to the RP backend service. The origin of the request is the AS hence
the RP session cookie (in which regularly nonce and state is stored) will not be
sent with the callback. An RP will fail to consume the callback.
● POST to the authorization_endpoint - the OP session cookie will not be sent
with the POST request and therefore the AS will resort to authenticating the
end-user again. It will set a new session cookie and the old one will become
orphaned.
● POST to the end_session_endpoint - the OP session cookie will not be sent
with the POST request and therefore the AS will not be able to identify the
authenticated session and logout will not be performed.
WHAT IS IMPACTED BY SAMESITE=NONE
● Cookies marked as SameSite=none MUST also be flagged as
‘Secure’
● This means that these cookies will only be sent to an HTTPS
endpoint
● This means that if the RP is using SameSite=none cookies,
their callback URI MUST be HTTPS
● Developers now need to run their dev endpoints as secure
(HTTPS) endpoints
UPCOMING CHANGES TO SAMESITE POLICY
● Google calls this Incrementally Better Cookies in their
individual draft and it consists of two changes, one being a
prerequisite for the other.
○ Default sameSite cookie attribute changes from “none” to “lax”
○ Cookies with sameSite attribute none also have to be secure
● Intent to ship in Chrome by default has been set to version
80 (due in February 2020), Firefox version 69 behind a
preference toggle.
○ Google has stopped the rollout of this feature due to COVID-19
○ This appears to be enabled by default in the Brave browser
● Testing in chromium based browsers
○ chrome://flags , brave://flags, etc
○ Search for “samesite” and enable all the options
WHAT THE CHANGE MEANS
When a set-cookie header does not have a sameSite attribute,
instead of defaulting to none (today’s behaviour) it will be
defaulted to lax.
When a set-cookie header has an unrecognized sameSite
attribute, instead of defaulting to none (today’s behaviour) it will
be defaulted to lax.
IMPACT ON AUTHORIZATION SERVERS
● Inventory existing flows to determine impact
○ Depending on the existing supported flows (e.g. top-level full page
redirects) no changes may be necessary
● What to do?
○ In order to ensure all existing flows are still working send
sameSite=none with all cookies that are intended to be accessed
cross-origin.
○ Use two cookies
● Risk:
○ Some, to work around a known WebKit bug which is still in effect
(see below “Existing WebKit bug”).
IMPACT ON RELYING PARTIES
● If a client currently sets their cookies to either of the defined
values, it will continue to work after the default sameSite
value changes as well.
● If a client currently uses response type query or fragment, it
will continue to work after the default sameSite value
changes as well
● Native SDKs (using custom scheme or claimed https uris) are
not affected, these use either query or fragment.
● If a client uses response_mode=form_post
○ the cookies used to convey a session or ones that contain the
request parameters like nonce, state, etc need to be set to “none”
○ - or -
TEMPORARY WORKAROUND FOR LOGIN
FLOWS
● If a cookie has been set (session or persistent) within the
last 2 minutes without an explicit SameSite value, it will still
be sent with FORM posts
Impacts
● Allows existing flows to *mostly* NOT break when deployed
● Any FORM response based login flow that takes more than 2
minutes will break as the cookies will not be sent
SAMESITE=NONE WEBKIT BUG
Older instances of iOS webkit do not correctly handle a cookie
explicitly marked as SameSite=none. Instead it defaults the
cookie to the ‘strict’ policy.
Resolution:
● At this point it doesn’t appear that older version of webkit
will be patched
● Recommended solution is to use two cookies one explicit set
to SameSite=none and one with no SameSite attribute
○ This requires the service receiving the cookies to work through
ITP 2.X
Sites flagged as “tracking sites” have their cookies wiped every
30 days unless the user explicitly interacts with the eTLD+1.
This applies to local storage as well. [ITP 2.1]
Persistent Cookies set via JS are wiped after 24 hours. [ITP 2.2]
Cookies won’t be sent at all in 3rd party contexts.
In Safari 13, local storage will be wiped (after 7 days of no
activity to that domain) if coming to a site from a “tracker site”
and request contains query parameters. [ITP 2.3]
https://webkit.org/blog/9521/intelligent-tracking-prevention-2-3/
IMPACT OF ITP 2.3
● Since OIDC/OAuth authorization_code flow redirects with
query parameters, it appears this will set the RP domain to
have it’s localStorage wiped 7 days after the user last
accesses that domain
BROWSER BASED “VPNS”
● Concern that request features like IP address might uniquely
identify a user and enable tracking
● Browsers currently collecting metrics regarding this
“tracking” approach
● Planning to support “remote proxying” of requests so that
IPs are multiplexed across random users
https://www.technadu.com/firefox-premium-version-integrated-vpn/70071/
https://private-network.firefox.com/
https://github.com/bslassey/privacy-budget
https://blog.cloudflare.com/announcing-warp-plus/
NAVIGATOR.ISLOGGEDIN() PROPOSAL
“For the purposes of client-side storage/state, the behavior of the web platform has been “logged
in by default,” meaning as soon as the browser loads a webpage, that page can store data
virtually forever on the device, and the browser may have to treat the user as logged in to that
website. That is a serious privacy issue. Long term storage should instead be tied to where the
user is truly logged in.”
“If websites were allowed to set the IsLoggedIn status whenever they want, it would not
constitute a trustworthy signal and would most likely be abused for user tracking. We must
therefore make sure that IsLoggedIn can only be set when the browser is convinced that the
user meant to log in or the user is already logged in and wants to stay logged in.”
“If websites were allowed to set the IsLoggedIn status whenever they want, it would not
constitute a trustworthy signal and would most likely be abused for user tracking. We must
therefore make sure that IsLoggedIn can only be set when the browser is convinced that the
user meant to log in or the user is already logged in and wants to stay logged in.”
https://lists.w3.org/Archives/Public/public-
NAVIGATOR.ISLOGGEDIN() PROPOSAL
There are several ways the browser could make sure the IsLoggedIn status is trustworthy:
● Require websites to use of WebAuthn or a password manager (including Credential
Management) before calling the API.
● Require websites to take the user through a login flow according to rules that the browser
can check. This would be the escape hatch for websites who can’t or don’t want to use
WebAuthn or a password manager but still want to set the IsLoggedIn bit.
● Show browser UI acquiring user intent when IsLoggedIn is set. Example: A prompt.
● Continuously show browser UI indicating an active logged in session on the particular
website. Example: Some kind of indicator in the URL bar.
● Delayed browser UI acquiring user intent to stay logged in, shown some time after the
IsLoggedIn status was set. Example: Seven days after IsLoggedIn was set – “Do you want to
stay logged in to news.example?”
● Requiring engagement to maintain logged in status. Example: Require user interaction as
first party website at least every N days to stay logged in. The browser can hide instead of
delete the credential token past this kind of expiry to allow for quick resurrection of the
logged in session.
NAVIGATOR.ISLOGGEDIN() PROPOSAL
Some websites allow the user to use an existing account with a
federated login provider to bootstrap a new local user account
and subsequently log in. The IsLoggedIn API needs to support
such logins.
● First, the federated login provider needs to call the API on its
side, possibly after the user has clicked a “Log in with X”
button:
● For the promise to resolve, the user needs to already have
the IsLoggedIn status set for the federated login provider,
i.e. the user needs to be logged in to the provider first.
WEBID (PROPOSED)
● JS API focused on identity federation flows
● Allow the browser to intermediate the identity flows
● Browser provided chrome specifically for identity flows
● Works with (or minimal changes to) existing standards
(OIDC, SAML)
● Still in the early days of being fleshed out
BOUNCE TRACKING PREVENTION
Apple proposed solution to user tracking that happens via
redirects
If a site is flagged for participating in “bounce tracking” it will
have all cookies set to samesite=strict.
Available for testing starting in Safari Technology Preview 105
HTTP STATE TOKENS
https://mikewest.github.io/http-state-tokens/draft-west-http-
state-tokens.html
While not new, this is referenced in the “navigator.isLoggedIn()”
proposal as the “better” way to manage state and logged in
sessions.
Also wanted to discuss whether it’s possible to use state tokens
to “sender constrain” cookies (ala token-binding) but with a
different mechanism
ACKNOWLEDGEMENTS
Filip Skokan
Mika Mannermaa
Ajinkya Kshirsagar
Samuel Goto
GENERAL DISCUSSION

More Related Content

Similar to Fletcher "Browser Changes Impacting Identity Flows"

C# cookieless session id and application state
C# cookieless session id and application stateC# cookieless session id and application state
C# cookieless session id and application stateMalav Patel
 
Validating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityValidating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityGiacomo Zecchini
 
Session and Cookies.pdf
Session and Cookies.pdfSession and Cookies.pdf
Session and Cookies.pdfHamnaGhani1
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Tom Anthony
 
4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tagsInnomedia Technologies
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesDeeptiJava
 
Weird new tricks for browser fingerprinting
Weird new tricks for browser fingerprintingWeird new tricks for browser fingerprinting
Weird new tricks for browser fingerprintingRoel Palmaers
 
Azure appservice
Azure appserviceAzure appservice
Azure appserviceRaju Kumar
 
E Commerce Analytics Demandware
E Commerce Analytics DemandwareE Commerce Analytics Demandware
E Commerce Analytics Demandwareloripelletier
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersViktor Gamov
 
Cisco-Wireless-Guest-v10.pptx
Cisco-Wireless-Guest-v10.pptxCisco-Wireless-Guest-v10.pptx
Cisco-Wireless-Guest-v10.pptxAkashMalkood1
 
CSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open RedirectCSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open RedirectBlueinfy Solutions
 

Similar to Fletcher "Browser Changes Impacting Identity Flows" (20)

State Management.pptx
State Management.pptxState Management.pptx
State Management.pptx
 
C# cookieless session id and application state
C# cookieless session id and application stateC# cookieless session id and application state
C# cookieless session id and application state
 
Validating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityValidating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data Integrity
 
Session and Cookies.pdf
Session and Cookies.pdfSession and Cookies.pdf
Session and Cookies.pdf
 
Web 2.0 PPT
Web 2.0 PPTWeb 2.0 PPT
Web 2.0 PPT
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020
 
Chapter 8 part1
Chapter 8   part1Chapter 8   part1
Chapter 8 part1
 
4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Session tracking In Java
Session tracking In JavaSession tracking In Java
Session tracking In Java
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes
 
Weird new tricks for browser fingerprinting
Weird new tricks for browser fingerprintingWeird new tricks for browser fingerprinting
Weird new tricks for browser fingerprinting
 
Using wikto
Using wiktoUsing wikto
Using wikto
 
Azure appservice
Azure appserviceAzure appservice
Azure appservice
 
E Commerce Analytics Demandware
E Commerce Analytics DemandwareE Commerce Analytics Demandware
E Commerce Analytics Demandware
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
 
Cisco-Wireless-Guest-v10.pptx
Cisco-Wireless-Guest-v10.pptxCisco-Wireless-Guest-v10.pptx
Cisco-Wireless-Guest-v10.pptx
 
CSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open RedirectCSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open Redirect
 

More from National Information Standards Organization (NISO)

More from National Information Standards Organization (NISO) (20)

Bazargan "NISO Webinar, Sustainability in Publishing"
Bazargan "NISO Webinar, Sustainability in Publishing"Bazargan "NISO Webinar, Sustainability in Publishing"
Bazargan "NISO Webinar, Sustainability in Publishing"
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
Compton "NISO Webinar, Sustainability in Publishing"
Compton "NISO Webinar, Sustainability in Publishing"Compton "NISO Webinar, Sustainability in Publishing"
Compton "NISO Webinar, Sustainability in Publishing"
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
 
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
 
Mattingly "Text and Data Mining: Building Data Driven Applications"
Mattingly "Text and Data Mining: Building Data Driven Applications"Mattingly "Text and Data Mining: Building Data Driven Applications"
Mattingly "Text and Data Mining: Building Data Driven Applications"
 
Mattingly "Text and Data Mining: Searching Vectors"
Mattingly "Text and Data Mining: Searching Vectors"Mattingly "Text and Data Mining: Searching Vectors"
Mattingly "Text and Data Mining: Searching Vectors"
 
Mattingly "Text Mining Techniques"
Mattingly "Text Mining Techniques"Mattingly "Text Mining Techniques"
Mattingly "Text Mining Techniques"
 
Mattingly "Text Processing for Library Data: Representing Text as Data"
Mattingly "Text Processing for Library Data: Representing Text as Data"Mattingly "Text Processing for Library Data: Representing Text as Data"
Mattingly "Text Processing for Library Data: Representing Text as Data"
 
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
 
Ross and Clark "Strategic Planning"
Ross and Clark "Strategic Planning"Ross and Clark "Strategic Planning"
Ross and Clark "Strategic Planning"
 
Mattingly "Data Mining Techniques: Classification and Clustering"
Mattingly "Data Mining Techniques: Classification and Clustering"Mattingly "Data Mining Techniques: Classification and Clustering"
Mattingly "Data Mining Techniques: Classification and Clustering"
 
Straza "Global collaboration towards equitable and open science: UNESCO Recom...
Straza "Global collaboration towards equitable and open science: UNESCO Recom...Straza "Global collaboration towards equitable and open science: UNESCO Recom...
Straza "Global collaboration towards equitable and open science: UNESCO Recom...
 
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
 
Kriegsman "Integrating Open and Equitable Research into Open Science"
Kriegsman "Integrating Open and Equitable Research into Open Science"Kriegsman "Integrating Open and Equitable Research into Open Science"
Kriegsman "Integrating Open and Equitable Research into Open Science"
 
Mattingly "Ethics and Cleaning Data"
Mattingly "Ethics and Cleaning Data"Mattingly "Ethics and Cleaning Data"
Mattingly "Ethics and Cleaning Data"
 
Mercado-Lara "Open & Equitable Program"
Mercado-Lara "Open & Equitable Program"Mercado-Lara "Open & Equitable Program"
Mercado-Lara "Open & Equitable Program"
 
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
 
Pfeiffer "Enhancing Open Science: Assessing Tools & Charting Progress"
Pfeiffer "Enhancing Open Science: Assessing Tools & Charting Progress"Pfeiffer "Enhancing Open Science: Assessing Tools & Charting Progress"
Pfeiffer "Enhancing Open Science: Assessing Tools & Charting Progress"
 

Recently uploaded

call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 

Recently uploaded (20)

call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 

Fletcher "Browser Changes Impacting Identity Flows"

  • 2. INTRODUCTION SameSite Policy Impacts ITP Policy Impacts Browser “VPNs” to mask browser IP addresses navigator.isLoggedIn() proposal / WebID Bounce Tracking Prevention HTTP State Tokens
  • 3. SAMESITE POLICY CHANGES SameSite=Strict ● Only sent when page loaded in the browser exactly matches the domain of the cookie SameSite=Lax ● Cookie is sent from a non-matching domain if and only if the user explicitly clicks a link that initiated the load of the off-domain page SameSite=None; Secure ● The default that we have today except that these cookies will only be sent over secure connections (HTTPS)
  • 4. WHAT IS AFFECTED BY SAMESITE=STRICT It’s fair to say that mostly everything, Client requesting an authentication/authorization response from an AS through the regular browser redirect flow will get hindered like so ● The RP session cookie (in which regularly nonce and state is stored) will not be sent with the callback. ● The OP session cookie will not be sent with the redirect and therefore AS will resolve to authenticating the end-user again. It will set a new session cookie and the old one will become orphaned. ● When an AS redirects to an upstream IdP (facebook, google, etc) it won’t be able to consume the callback since then we are the RP and we can’t load our session cookie with the state/nonce details we need to consume a callback.
  • 5. WHAT IS AFFECTED BY SAMESITE=LAX Any hidden iframe mechanism ● response_mode=web_message used for silently renewing tokens, the origin of the request is not the AS hence the AS session cookie is disqualified from being sent. ● OIDC Session Management and Logout Specifications ○ Session Status Change Notification - the origin of the request is not the AS hence the individual RP session state cookies are disqualified from being accessible to the javascript context. ○ Front-Channel RP Logout iframe - the origin of the request is not the RP website hence the RP session cookies are disqualified from being sent.
  • 6. WHAT IS AFFECTED BY SAMESITE=LAX POST based protocol messages ● response_mode=form_post used to return tokens via the front-channel but directly to the RP backend service. The origin of the request is the AS hence the RP session cookie (in which regularly nonce and state is stored) will not be sent with the callback. An RP will fail to consume the callback. ● POST to the authorization_endpoint - the OP session cookie will not be sent with the POST request and therefore the AS will resort to authenticating the end-user again. It will set a new session cookie and the old one will become orphaned. ● POST to the end_session_endpoint - the OP session cookie will not be sent with the POST request and therefore the AS will not be able to identify the authenticated session and logout will not be performed.
  • 7. WHAT IS IMPACTED BY SAMESITE=NONE ● Cookies marked as SameSite=none MUST also be flagged as ‘Secure’ ● This means that these cookies will only be sent to an HTTPS endpoint ● This means that if the RP is using SameSite=none cookies, their callback URI MUST be HTTPS ● Developers now need to run their dev endpoints as secure (HTTPS) endpoints
  • 8. UPCOMING CHANGES TO SAMESITE POLICY ● Google calls this Incrementally Better Cookies in their individual draft and it consists of two changes, one being a prerequisite for the other. ○ Default sameSite cookie attribute changes from “none” to “lax” ○ Cookies with sameSite attribute none also have to be secure ● Intent to ship in Chrome by default has been set to version 80 (due in February 2020), Firefox version 69 behind a preference toggle. ○ Google has stopped the rollout of this feature due to COVID-19 ○ This appears to be enabled by default in the Brave browser ● Testing in chromium based browsers ○ chrome://flags , brave://flags, etc ○ Search for “samesite” and enable all the options
  • 9. WHAT THE CHANGE MEANS When a set-cookie header does not have a sameSite attribute, instead of defaulting to none (today’s behaviour) it will be defaulted to lax. When a set-cookie header has an unrecognized sameSite attribute, instead of defaulting to none (today’s behaviour) it will be defaulted to lax.
  • 10. IMPACT ON AUTHORIZATION SERVERS ● Inventory existing flows to determine impact ○ Depending on the existing supported flows (e.g. top-level full page redirects) no changes may be necessary ● What to do? ○ In order to ensure all existing flows are still working send sameSite=none with all cookies that are intended to be accessed cross-origin. ○ Use two cookies ● Risk: ○ Some, to work around a known WebKit bug which is still in effect (see below “Existing WebKit bug”).
  • 11. IMPACT ON RELYING PARTIES ● If a client currently sets their cookies to either of the defined values, it will continue to work after the default sameSite value changes as well. ● If a client currently uses response type query or fragment, it will continue to work after the default sameSite value changes as well ● Native SDKs (using custom scheme or claimed https uris) are not affected, these use either query or fragment. ● If a client uses response_mode=form_post ○ the cookies used to convey a session or ones that contain the request parameters like nonce, state, etc need to be set to “none” ○ - or -
  • 12. TEMPORARY WORKAROUND FOR LOGIN FLOWS ● If a cookie has been set (session or persistent) within the last 2 minutes without an explicit SameSite value, it will still be sent with FORM posts Impacts ● Allows existing flows to *mostly* NOT break when deployed ● Any FORM response based login flow that takes more than 2 minutes will break as the cookies will not be sent
  • 13. SAMESITE=NONE WEBKIT BUG Older instances of iOS webkit do not correctly handle a cookie explicitly marked as SameSite=none. Instead it defaults the cookie to the ‘strict’ policy. Resolution: ● At this point it doesn’t appear that older version of webkit will be patched ● Recommended solution is to use two cookies one explicit set to SameSite=none and one with no SameSite attribute ○ This requires the service receiving the cookies to work through
  • 14. ITP 2.X Sites flagged as “tracking sites” have their cookies wiped every 30 days unless the user explicitly interacts with the eTLD+1. This applies to local storage as well. [ITP 2.1] Persistent Cookies set via JS are wiped after 24 hours. [ITP 2.2] Cookies won’t be sent at all in 3rd party contexts. In Safari 13, local storage will be wiped (after 7 days of no activity to that domain) if coming to a site from a “tracker site” and request contains query parameters. [ITP 2.3] https://webkit.org/blog/9521/intelligent-tracking-prevention-2-3/
  • 15. IMPACT OF ITP 2.3 ● Since OIDC/OAuth authorization_code flow redirects with query parameters, it appears this will set the RP domain to have it’s localStorage wiped 7 days after the user last accesses that domain
  • 16. BROWSER BASED “VPNS” ● Concern that request features like IP address might uniquely identify a user and enable tracking ● Browsers currently collecting metrics regarding this “tracking” approach ● Planning to support “remote proxying” of requests so that IPs are multiplexed across random users https://www.technadu.com/firefox-premium-version-integrated-vpn/70071/ https://private-network.firefox.com/ https://github.com/bslassey/privacy-budget https://blog.cloudflare.com/announcing-warp-plus/
  • 17. NAVIGATOR.ISLOGGEDIN() PROPOSAL “For the purposes of client-side storage/state, the behavior of the web platform has been “logged in by default,” meaning as soon as the browser loads a webpage, that page can store data virtually forever on the device, and the browser may have to treat the user as logged in to that website. That is a serious privacy issue. Long term storage should instead be tied to where the user is truly logged in.” “If websites were allowed to set the IsLoggedIn status whenever they want, it would not constitute a trustworthy signal and would most likely be abused for user tracking. We must therefore make sure that IsLoggedIn can only be set when the browser is convinced that the user meant to log in or the user is already logged in and wants to stay logged in.” “If websites were allowed to set the IsLoggedIn status whenever they want, it would not constitute a trustworthy signal and would most likely be abused for user tracking. We must therefore make sure that IsLoggedIn can only be set when the browser is convinced that the user meant to log in or the user is already logged in and wants to stay logged in.” https://lists.w3.org/Archives/Public/public-
  • 18. NAVIGATOR.ISLOGGEDIN() PROPOSAL There are several ways the browser could make sure the IsLoggedIn status is trustworthy: ● Require websites to use of WebAuthn or a password manager (including Credential Management) before calling the API. ● Require websites to take the user through a login flow according to rules that the browser can check. This would be the escape hatch for websites who can’t or don’t want to use WebAuthn or a password manager but still want to set the IsLoggedIn bit. ● Show browser UI acquiring user intent when IsLoggedIn is set. Example: A prompt. ● Continuously show browser UI indicating an active logged in session on the particular website. Example: Some kind of indicator in the URL bar. ● Delayed browser UI acquiring user intent to stay logged in, shown some time after the IsLoggedIn status was set. Example: Seven days after IsLoggedIn was set – “Do you want to stay logged in to news.example?” ● Requiring engagement to maintain logged in status. Example: Require user interaction as first party website at least every N days to stay logged in. The browser can hide instead of delete the credential token past this kind of expiry to allow for quick resurrection of the logged in session.
  • 19. NAVIGATOR.ISLOGGEDIN() PROPOSAL Some websites allow the user to use an existing account with a federated login provider to bootstrap a new local user account and subsequently log in. The IsLoggedIn API needs to support such logins. ● First, the federated login provider needs to call the API on its side, possibly after the user has clicked a “Log in with X” button: ● For the promise to resolve, the user needs to already have the IsLoggedIn status set for the federated login provider, i.e. the user needs to be logged in to the provider first.
  • 20. WEBID (PROPOSED) ● JS API focused on identity federation flows ● Allow the browser to intermediate the identity flows ● Browser provided chrome specifically for identity flows ● Works with (or minimal changes to) existing standards (OIDC, SAML) ● Still in the early days of being fleshed out
  • 21. BOUNCE TRACKING PREVENTION Apple proposed solution to user tracking that happens via redirects If a site is flagged for participating in “bounce tracking” it will have all cookies set to samesite=strict. Available for testing starting in Safari Technology Preview 105
  • 22. HTTP STATE TOKENS https://mikewest.github.io/http-state-tokens/draft-west-http- state-tokens.html While not new, this is referenced in the “navigator.isLoggedIn()” proposal as the “better” way to manage state and logged in sessions. Also wanted to discuss whether it’s possible to use state tokens to “sender constrain” cookies (ala token-binding) but with a different mechanism

Editor's Notes

  1. Note that query/fragements in redirects will trigger ITP 2.X rules in Safari browsers that will impact the longevity of the cookies
  2. As of ITP 2.2, persistent cookies set through document.cookie are capped to one day of storage when both of the following conditions are met: A domain classified with cross-site tracking capabilities was responsible for navigating the user to the current webpage. The final URL of the navigation mentioned above has a query string and/or a fragment identifier. https://trac.webkit.org/changeset/236448/webkit https://trac.webkit.org/changeset/242288/webkit https://trac.webkit.org/changeset/245023/webkit https://trac.webkit.org/changeset/246763/webkit https://bugs.webkit.org/show_bug.cgi?id=195923