使用 Google 作为身份提供者的 Salesforce 的 Api 身份验证
Posted
技术标签:
【中文标题】使用 Google 作为身份提供者的 Salesforce 的 Api 身份验证【英文标题】:Api Authentication with Salesforce using Google as an Identity Provider 【发布时间】:2019-07-16 18:43:35 【问题描述】:我对身份验证/授权领域有点陌生,需要一些关于如何构建/实施最终将连接到 Salesforce 并检索信息的应用程序的建议。在一个非常高的层次上,我正在构建一个需要提取 Salesforce 相关数据以显示给用户的移动应用程序。他们特定的 Salesforce 实例使用 Google 作为身份提供者。此外,我们计划设置一个网关来协调与 Salesforce 的所有通信,并可能进行一些响应聚合。我们还计划使用 Cognito 来处理身份管理。我的具体问题是:
-
我将通过 Salesforce 身份验证端点进行身份验证吗?如果 Salesforce 最终使用 Google 作为身份提供商,那么直接从 Salesforce 本身检索该令牌是否有意义?
-
我是否需要在 Salesforce 或 Google 中将移动应用程序注册为应用程序?我了解 Salesforce 本身需要在 Google 中注册才能允许在 Salesforce 中使用 Google 作为身份提供者,但同时注册是否有意义?
目前不需要限制资源访问,因为任何可以登录的用户都可以看到所有内容。这会影响实施吗?本质上,如果用户可以使用他们的 Google 凭据登录 Salesforce(也就是他们有一个用户映射),那么他们应该能够看到任何东西。
我确定我在问一些幼稚的问题,而且真的不知道从哪里开始。我最近使用 Azure 作为身份提供者构建了一个供 Salesforce Connect 使用的 Api,这相当简单,尽管这是机器对机器并且简单得多。任何帮助都将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:已经有一段时间了...不确定您是否还有问题。
假设 salesforce 配置为使用 Google 进行身份验证/作为 Auth Provider
:您必须将您的应用 auth
设置为 salesforce
,并且 salesforce
将自动将用户重定向到身份验证到 Google
(或确保存在一个现有的有效Google
用户会话,并让您访问salesforce
)。 Google
向salesforce
发出令牌,salesforce
将向您的应用发出自己的令牌。
【讨论】:
以上是关于使用 Google 作为身份提供者的 Salesforce 的 Api 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
将来自 Google Apps 脚本的 JSON 作为“访问网络应用程序的用户”提供服务