Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Azure AD和SAML 2.0使用私有API_C#_Api_Azure Active Directory_Saml 2.0 - Fatal编程技术网

C# 使用Azure AD和SAML 2.0使用私有API

C# 使用Azure AD和SAML 2.0使用私有API,c#,api,azure-active-directory,saml-2.0,C#,Api,Azure Active Directory,Saml 2.0,我有一个客户端API应用程序,它使用来自web应用程序的私有API,我使用承载授权进行身份验证。我使用以下呼叫获取承载者: grant_type=password&username={username}&password={password}&client_id={clientID}&tenant_id={TenantID} 然后,我使用返回的承载器对API进行身份验证 在我们使用带有SAML2.0的Azure AD向应用程序添加SSO身份验证之前,一切都很正常 我检查了Azure文档并发现以下

我有一个客户端API应用程序,它使用来自web应用程序的私有API,我使用承载授权进行身份验证。我使用以下呼叫获取承载者: grant_type=password&username={username}&password={password}&client_id={clientID}&tenant_id={TenantID}

然后,我使用返回的承载器对API进行身份验证

在我们使用带有SAML2.0的Azure AD向应用程序添加SSO身份验证之前,一切都很正常

我检查了Azure文档并发现以下内容:

我不确定从何处开始,请您给我一些指导,告诉我如何将其添加到当前应用程序中,以使其支持新的SSO身份验证


谢谢

听起来您的AAD应用程序中已经实现了SAML,并且希望在ROPC/OIDC/Auth代码之外使用不同形式的身份验证

可以使用SAML断言承载流使用SAML令牌获取访问令牌。不幸的是,没有关于如何做到这一点的正式文档,但这里的反馈支持这一点:

通过使用SAML断言承载流,您可以使用SSO Auth获取SAML2.0令牌,然后使用SAML令牌使用SAML承载断言流获取新的访问令牌

此流程的RFC可在此处找到:

由于微软没有关于如何做到这一点的官方文档,所以这可能不是目前的最佳途径。如果您已经让它使用ROPC流,您可能希望等待为SAML流提供适当的文档。或者利用微软官方文档中的其他流程之一。这些流程可在此处找到:


如果有任何问题,请评论,我会尽快回复你

我认为oAuth和SAML之间存在混淆,您能分享更多的细节吗?您想实现什么?为什么要使用SAML?只需使用OpenID连接到Azure AD,您的应用程序就可以正常工作。当然,没问题,我很高兴我们能够提供帮助。如果这回答了您的问题,请记住单击投票按钮下方的复选标记,将其标记为答案。