google-api - 如何结合 Azure AD 单点登录访问 Google API

标签 google-api single-sign-on openid azure-active-directory google-api-dotnet-client

我有一个在 Azure 上运行的 Web 应用程序。 Web 应用程序通过来自 Azure Active Directory 租户的 OpenID Connect 对用户进行身份验证。 Azure Sample on GitHub .

在 Azure Active Directory 租户上,我集成了 Google Apps 并配置了单点登录到 Google Apps 和自动用户配置。 Tutorial: How to integrate Google Apps with Azure Active Directory .

在我的网络应用程序中,我想通过 Google API 从登录用户的 Google Apps(例如 Google Drive 上的文件)访问用户内容。

是否可以在设置单点登录联合的帮助下执行此操作,以便用户只需登录到 Web 应用程序/Azure AD 而对于 Web API 调用则无需进一步登录,例如通过使用 Azure AD 获取的 token 来访问 Google Web API?

最佳答案

从 Azure AD 获得的 token 不能直接用于 Google API。但是,如果您集成了 Azure AD 和 Google Apps,您应该能够完成谷歌 token 获取过程,而无需再次收集用户凭据。您可能想要通过授权代码流从 google 获取 token ,并注入(inject)有助于利用现有 session 的请求信息。典型示例是传递用户的 UPN(通过 login_hint 查询参数)和租户 (domain_hint)。但是我不知道 google 授权端点是否会传递这些信息,您需要查阅 google api 文档。

关于google-api - 如何结合 Azure AD 单点登录访问 Google API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33285902/

相关文章:

javascript - 服务器端的 Google 登录

Java 看不到日历 API

ASP.NET 和 OWIN Cookies Azure Open ID 不工作

google-sheets - 使用 Sheets API v4 (Java) 获取 Google Sheets 上次编辑日期

java - 解码 HTML 转义字符

android - Android 应用之间的单点登录

java - 使用 spring session ID cookie 进行单点登录?

flask - 我可以避免意外创建 Google App Engine 实例吗?

java - Spring Security OpenID - UserDetailsS​​ervice,AuthenticationUserDetailsS​​ervice

php - 用于大学 Google 托管电子邮件的 lightopenID