我在使用oAuth时遇到了一些挑战,我会向您提供一些专家建议!
挑战如下:
场景
1.用户A使用两个独立的&外部网络应用程序(应用程序X和应用程序Y)同步
2.用户A通过身份验证进入App X&应用程序Y使用相同的谷歌身份验证凭据(OpenID/oAuth)
3.应用程序X&应用程序Y目前持有用户A的授权谷歌身份验证令牌。
4.应用程序X&应用程序Y需要在它们之间共享信息(通过REST/SOAP请求),以满足用户A的要求
5。应用程序X&应用程序Y有一个安全要求,需要任何外部应用程序在接受REST/SOAP请求之前进行身份验证
问题
Can App X&应用程序Y使用用户A持有的Google凭据(令牌)在生成/向对方发送REST/SOAP请求之前进行可变身份验证?
如果有更好的办法,我会通知你的想法。
提前谢谢。
您不能使用App X中的令牌来运行App Y。当您从浏览器中运行脚本时,它会从用户cookie中提取一些身份验证值。即使您将这些值添加到UrlFetchApp的标头中,它们也会被应用程序脚本剥离。如果应用程序Y设置为以"我"身份运行,则应用程序X中的令牌可用于满足"谁可以访问web应用程序"的要求。这是通过在头对象"Authorization"中发送它来完成的:"Bearer TokenFromAppX"。在AppY中,您可以处理自己的OAuth,并通过REST调用访问用户数据。参见:
https://github.com/googlesamples/apps-script-oauth2