在Salesforce中使用Azure SSO详细信息对Azure REST API请求进行身份验证



我已经使用Microsoft Azure在Salesforce中设置了单点登录。我已经按照微软的官方教程在Setup > Settings > Identity > Single Sign-On Settings配置菜单中完成了这项工作。我能够使用Azure Active Directory中的用户帐户成功登录Salesforce,并启用了即时供应。

我希望能够使用登录用户来验证对不同Azure API的进一步请求,例如Azure blob存储。使用这种配置可能吗?

我的假设是,在单次登录过程中,Azure将向Salesforce返回某种形式的代码或令牌,然后我可以在未来的请求中使用这些代码或令牌来获取特定API请求的身份验证令牌。然而,我不清楚我将如何或在哪里访问此代码/令牌(或者我的假设是否真的正确(。

当我在AAD集成的Salesforce端时,我没有看到任何类似会话id的东西,但我又不是Azure的人。可能是我的客户禁用的东西。

如果您遵循该指南,SF可能会为您生成一个示例Apex类,用于实时(JIT(登录处理,并根据从AAD获得的数据创建/更新用户。

您可以编辑这个类,撒上一些System.debug(JSON.serializePretty(attributes));,看看AAD在SAML断言中发送了什么。(或者断言本身,但它将根据我记忆中的内容进行base64编码(。您的SF管理员将知道如何将调试日志添加到您指定为系统用户的用户(此代码将以其身份执行(。

另请参阅https://stackoverflow.com/a/63992670/313628和https://stackoverflow.com/a/58965058/313628

最新更新