-
Notifications
You must be signed in to change notification settings - Fork 84
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
On-device sources of tokens? #41
Comments
We discussed some aspects of this idea in https://groups.google.com/a/chromium.org/g/blink-dev/c/SlLdc64lvpM. To make sure they're not lost, I'm moving the conversation here. Some questions/comments should probably get split into separate issues as this extension proposal gets more developed.
Additional questions:
|
We're imagining this feature initially supporting sources of tokens that have some notion of "trust" or "privilege" at an OS or UA level, rather than (say) completely arbitrary native apps. (Notwithstanding permission prompts being the worst, on OSes with some kind of user-granted-permissions functionality, one kind of conceivable gate could be that this issuance is restricted to apps with a particular user-granted permission.) If the source of tokens has this notion of trust or privilege, it's possible that it could have state common with a website. (For instance, if it had the appropriate level or trust or privilege, the "Popular Website" app could provide tokens corresponding to the issuing website
I wasn't thinking it would define who "owns" the on-device source of tokens, but rather which on-device entity maintains the issuers-to-trusted-on-device-sources mapping; did I misunderstand your initial question about this? In either case, a public registry seems like it could come in handy; thanks for the suggestion!
We were imagining redemption could happen via the same mechanism as for normal "web-issued" tokens; there's no reason in principle why it couldn't also take place through a device-local intermediary like for issuance, though. I think we'd probably want to have the information available at redemption time be pretty similar in both cases, including the redeeming origin. |
My question wasn't around arbitrary apps on the system providing these tokens though that's perhaps interesting as well. If an issuer wanted to say that it wants to use system token provider X when available, I was imagining that the system token provider wouldn't generally have the same sort of context as the issuer unless the owner of the OS/UA-level token provider was the same entity (e.g. imagine a browser that has the same user login state context at both the UA level and in the current site's context). If there are other entities with issuer endpoints that want to leverage OS-level state when available but would otherwise have their own trust logic via info available within normal web platform constraints at issuance time, it seems more likely than not that they would want to leverage context from both types of tokens during redemptions.
This makes sense if the on-device token issuer is owned by the same entity as the issuer service. If the issuer is not the same, though, how can the on-device issuer throttle/control who it hands the tokens out to? My question might be more of an implementation question: for the on-device tokens, would we expect the document.hasTrustToken call to result in a check with the on-device token issuer to determine if it wants to allow the token to be consumed? And, if so, what concerns might we have where the normal/non-on-device issuer would prefer to fall back to issuing its own tokens if the on-device token source decides to throttle redemptions associated with that issuer? I think the root of a number of my questions can be boiled down to needing to better understand what pre-existing relationship, if any, is there expected to be between the entity that owns the issuer that specifies it wants to use on-device tokens and the owning entity of the on-device token source? |
(Agh! Lost my draft because my computer crashed.)
I agree this could be the case some of the time. Depending on the different types of web- and device-issued tokens out there, I'd think consumers, constrained by the per-site limit on the number of associated issuers, which in particular limits the number of types of token one can redeem, might sometimes want to consume a mix of web- and device-issued tokens and sometimes might want to use entirely one or entirely the other.
I think it's simplest to expect them to always be the same, at least initially. If it were possible to execute redemption on device, we could conceivably support behavior where you have web-issued This seems harder to support without on-device redemption, because redeeming the tokens would require some server-to-server communication: the |
It seems like trust tokens could end up being scarce on the mobile web, because it's common for users to do things in apps on mobile that they'd do on the web on desktop.
This bug tracks potential work to extend issuance to on-device sources of tokens in order to make up for this absence.
The text was updated successfully, but these errors were encountered: