-
Notifications
You must be signed in to change notification settings - Fork 18
Proposal: a protocol to obtain Bearer access tokens for HTTP Authorization for the AJAX/API/bot use case #25
Comments
Thanks a lot for writing this up! It caused confusion and pain to me as well when starting to write a test suite. I think we need to fix this. |
@sylvainlb This might be interesting to you |
@zenomt When you say "the server, rather than the client, chooses the validity period of the access token;" Is the server the RS or the OP? |
@jaxoncreed the resource server chooses the validity period of the access tokens it issues. the validity period of its access tokens could be shorter or longer than the validity period of the presented proof-tokens. the reasoning is: the access policy of the resource server is up to the resource server, not to the client or the client's OIDC Provider. |
to be more precise, the access token is issued by the this separation is more obvious with the |
i struck out the " |
unfortunately the minutes from this morning's Solid Community call were lost, and i don't remember who asked about it, but i have added a sequence diagram for the WebID-OIDC access token case to the https://github.com/zenomt/webid-auth-protocol . |
Great! It was @bblfish who asked "(Henry) Is there a sequence diagram as part of the spec?" |
@zenomt - It can be helpful to ping the group for anyone who has personal IRC logs (as I would have, were I logged in to IRC at the time) ... or, if RRSAgent was present, to ping W3 admins for help locating the bot's log. W3 admins can usually also help with processing anyone's IRC logs into minutes via the scripts. |
Ah, I am always on, even if I'm not on present :-) But it seems it is in the minutes? Anything else that was lost? |
i updated my full proposal based on #12 (comment) which is a cleaner method of determining the appid from the id_token audience than i had originally proposed. i'm still proposing that the redirect_uri be the appid and that it is present in the id_token |
the example-workflow.md document leaves unspecified how an application or automatic client (like an in-browser AJAX client where no cookie exists or can be used, or a server-side application with its own WebID (like a bot)) obtains an access credential when presented with a
401 Unauthorized
response from a resource server.node-solid-server, oidc-op, and oidc-rp together address this case in a currently undocumented (experimental?) way, described in #24. summary: "a proof-of-possession token is manufactured by the client and presented directly as a bearer token".
i'd like to propose an alternative method that is more in line with the spirit of OAuth, and which also uses proof-of-possession. i've (re)written a full protocol proposal at WebID HTTP Authorization Protocol. highlights of this protocol and capabilities it enables include:
an optional HTTP(or for WebID-TLS);302
redirect-based token delivery mode that can be used to establish an application identifier, especially in case the proposal at Proposal: recommend WebID OpenID Providers include redirect_uri in audience list to distinguish web apps #23 is rejected or not widely implementedsummary of the protocol (please see zenomt/webid-auth-protocol for a full description):
401 Unauthorized
, and aWWW-Authenticate
response header that includes a challenge nonce and a token-exchange endpoint URI;Authorization
headers for requests to the same protection space, until it expires.The text was updated successfully, but these errors were encountered: