1

我在使用oAuth时遇到了一些挑战,并且会对一些专家建议进行解答!在同一用户进行身份验证的应用程序之间使用Google oAuth?

的挑战是如下:

情景
1.用户A使用两个单独的&外部web应用程序(应用程序X &应用Y)同步。
2.用户A通过使用相同的Google身份验证凭据(OpenID/oAuth)对App X进行身份验证&。
应用X &应用Ÿ目前持有授权谷歌身份验证令牌给用户A.
4.应用X &应用Ÿ需要共享它们之间的信息(通过REST/SOAP请求),以履行用户A的要求。
5. App X &应用程序Y有一个安全要求,需要任何外部应用程序在接受REST/SOAP请求之前进行身份验证。

问题
可应用X &应用Ÿ利用用户A的谷歌凭证(凭证),他们持有在产生/发送REST/SOAP请求对方mutally认证?

如果有更好的方法,我会appriciate你的想法。

预先感谢您。

+0

这取决于。如果每个应用都声明授权给用户,那么每个应用都相信其他应用?或者每个应用程序需要向其他应用程序证明它已被授权为用户执行操作? – abraham 2015-04-07 04:38:04

+0

嗨亚伯拉罕。在回答你的问题时,App X和App Y需要互相证明他们在交换信息之前已经被同一用户授权。授权方法是Google。你碰巧知道如何做到这一点?谢谢 – 2015-04-07 17:46:16

回答

0

您不能使用App X中的令牌运行App Y.当您从浏览器运行脚本时,它会从用户Cookie中提取一些验证值。即使您将这些值添加到UrlFetchApp的标题中,它们也会被Apps脚本剥离。 如果应用Y被设置为“我”,则来自App X的令牌可用于满足“谁可以访问Web应用”。这通过在标题对象“Authorization”中发送它来完成:“Bearer TokenFromAppX”。在App Y中,您可以处理自己的OAuth并通过REST调用访问用户数据。参见:

https://github.com/googlesamples/apps-script-oauth2

相关问题