背景:
我对标准OAuth设置的理解:
用户访问MySite.com上的特定网址,以便OAuth登录ParentSite.com。
MySite应用从ParentSite中检索OAuth“请求令牌”。
浏览器被重定向到ParentSite.com网站,要求确认允许MySite App查看用户的信息。
用户确认。 ( * )
浏览器被重定向到MySite.com,MySite.com现在为用户提供了OAuth“访问令牌”。
客户端应用程序使用来自步骤5的OAuth访问令牌作为身份验证将REST请求发送回ParentSite.com,请求用户的身份信息(例如,ParentSite用户ID,姓名,电子邮件地址)。
ParentSite验证OAuth访问令牌并将用户的信息返回给客户端应用程序。
我的情况略有不同,区别在于:
一个。用户是ParentSite.com的用户,并且在ParentSite.com上,当他们点击“MySite Module”上的某些链接时需要与MySite.com无缝连接
B中。我希望用户授权步骤(步骤3和4)自动化,即不提示用户。
Q1:我在“MySite模块”中需要做些什么才能启用所有这些功能? (请详细解答!)
Q2:如何自动执行第3步和第4步?
答案 0 :(得分:0)
好的,让我直截了当。单击“parentsite”中的某些内容会打开“mysite”,“mysite”,然后尝试操作“parentsite”中的内容,因此需要获得授权才能这样做?如果我错了,请忽略这个答案。
我也假设您可以控制parentsite.com - 否则我无法找到您完成您所需要的方式。
第1部分。
首先,mysite需要一个消费者密钥和秘密。
第2部分。
由于对mysite的调用是直接从parentite发出的,因此您可以直接在parentite服务中发出访问令牌(您已经知道哪个用户已登录)。因此,当访问mysite.com时 - 只需向其发送访问令牌及其所需的秘密。
第3部分。
好的,现在mysite.com应该有消费者密钥/秘密和访问密钥/秘密,应该能够与parentsite.com做一些事情。
请记住,这确实超出了oAuth规范,但完全可行。