OAuth permissions should determine the link contract. At least that's
my quick $0.02.
Suggested user flow ...
1) User goes to pds-application-example.com and clicks login (for this
example, let's assume an active client provided the PDS provider OAuth
endpoint)
2) OAuth browser window pops up, prompting user to login to his/her
PDS provider; user logs in to provider
3) User is presented with requested OAuth permissions; e.g. read+write
to social graph, read identity graph
4) User approves permissions request and is redirected back to the
app; app is given OAuth token
5) App sends a get link contract request to PDS and includes the OAuth
token; link contract is returned with the permissions selected by the
user during OAuth
6) App sends XDI messages and OAuth token to PDS; PDS check OAuth
token for validity (no permissions enforcement yet) and then passes
the message on to the XDI Messaging Engine to enforce the link
contract
Revoking the OAuth token should also revoke the link contract and vice versa.
Do you think this flow is correct?
Cheers,
Joe
Go Markus, go!
OAuth permissions should determine the link contract. At least that's
my quick $0.02.
Suggested user flow ...
1) User goes to pds-application-example.com and clicks login (for this
example, let's assume an active client provided the PDS provider OAuth
endpoint)
2) OAuth browser window pops up, prompting user to login to his/her
PDS provider; user logs in to provider
3) User is presented with requested OAuth permissions; e.g. read+write
to social graph, read identity graph
4) User approves permissions request and is redirected back to the
app; app is given OAuth token
5) App sends a get link contract request to PDS and includes the OAuth
token; link contract is returned with the permissions selected by the
user during OAuth
6) App sends XDI messages and OAuth token to PDS; PDS check OAuth
token for validity (no permissions enforcement yet) and then passes
the message on to the XDI Messaging Engine to enforce the link
contract
Revoking the OAuth token should also revoke the link contract and vice versa.
Do you think this flow is correct?
And if we are going to allow an application to write to a PDS, should the
write permission be limited to a specific context? By limiting the scope,
would that be an expedient solution to limit the security risk?
- Mike
--------------------------------------------------------------------------------------
Michael Schwartz
Gluu
Founder, CEO
mi...@gluu.org
https://www.gluu.org
+1 646-810-8761
Cheers,
Joe
Cheers,
Joe
On Sun, Oct 3, 2010 at 10:23 AM, Markus Sabadello