La API de Storage Access (SAA) permite que los iframes de origen cruzado soliciten permisos de acceso al almacenamiento cuando, de otro modo, la configuración del navegador los rechazaría.
Algunos sitios web pueden usar FedCM para la autenticación y SAA para permitir que los iframes de origen cruzado accedan al almacenamiento requerido. Por ejemplo, si idp.example está incorporado en rp.example y idp.example necesita acceso de almacenamiento a su propia cookie de nivel superior para mostrar contenido personalizado.
En este caso, el usuario debe aprobar dos mensajes diferentes: uno para la autenticación y otro para otorgar acceso a las cookies, ya que la SAA activaría un mensaje de permiso. FedCM simplifica el proceso de la API de Storage Access actuando como un indicador de confianza. Una vez que el usuario accede con FedCM, se otorgan automáticamente las solicitudes de acceso al almacenamiento que inicia el IdP, lo que elimina la necesidad de indicaciones de SAA adicionales.
// In top-level rp.example:// Ensure FedCM permission has been granted.constcred=awaitnavigator.credentials.get({identity:{providers:[{configURL:'https://idp.example/fedcm.json',clientId:'123',}],}});// In an embedded IdP iframe:// Returns `true` if the user already has access to cookies, and `false` if// the user doesn't have access yet and needs to request it.consthasAccess=awaitdocument.hasStorageAccess()if(!hasAccess){// No user gesture is needed to approve storage access, and the call will be auto-granted.document.requestStorageAccess().then(e=>{//access cookies})}else{//the iframe already has access to third-party cookies}
Los participantes de la prueba de Origin proporcionaron comentarios positivos, en los que destacan la experiencia del usuario mejorada que permite una instrucción de FedCM específica del contexto en lugar de las instrucciones genéricas de la API de Storage Access.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-11-15 (UTC)"],[[["Chrome now uses FedCM as a trust signal for the Storage Access API, streamlining cross-origin iframe storage access when users are logged in with FedCM."],["This integration eliminates the need for separate Storage Access API prompts, simplifying the user experience and reducing prompt fatigue."],["Websites using both FedCM and the Storage Access API benefit from this feature, as users only need to authenticate once with FedCM for both login and storage access."],["Developers can learn more about implementation and feedback channels through provided documentation and issue tracking links."],["Positive feedback from origin trial participants suggests that FedCM-based storage access improves user experience compared to generic prompts."]]],["Chrome 131 utilizes FedCM as a trust signal for the Storage Access API (SAA). When a user logs in via FedCM, storage access requests from Identity Providers (IdPs) are automatically granted, removing the need for additional SAA prompts. Websites using both FedCM and SAA see streamlined access. Without FedCM, the user needs to approve separate prompts for authentication and cookie access. `document.requestStorageAccess()` becomes auto-granted, and cookies will be available. If `navigator.credentials.preventSilentAccess()` is called, storage access is not granted until reauthentication.\n"]]