如何在不使用浏览器的情况下从.NETWeb服务代码中从OKTA获取SAML令牌?
我们有由剑道UI和后端.NET web服务构建的混合移动应用程序。来自UI的所有调用都是通过ajax进行的。现在我们需要将应用程序集成到OKTA以进行用户身份验证,但不确定如何直接从web服务调用从OKTA获取SAML令牌 我们已经使用windows identity framework从web服务实现了对ADFS(活动端点)的调用,以获取SAML令牌,并且它可以正常工作如何在不使用浏览器的情况下从.NETWeb服务代码中从OKTA获取SAML令牌?,.net,saml,okta,.net,Saml,Okta,我们有由剑道UI和后端.NET web服务构建的混合移动应用程序。来自UI的所有调用都是通过ajax进行的。现在我们需要将应用程序集成到OKTA以进行用户身份验证,但不确定如何直接从web服务调用从OKTA获取SAML令牌 我们已经使用windows identity framework从web服务实现了对ADFS(活动端点)的调用,以获取SAML令牌,并且它可以正常工作 如果有人能分享经验或指出解决方案,我们将不胜感激 您可以使用以下序列获得SAML断言: 1) 您可以使用/api/v1/au
如果有人能分享经验或指出解决方案,我们将不胜感激 您可以使用以下序列获得SAML断言: 1) 您可以使用/api/v1/authn来建立和获取sessiontoken。这将需要用户凭据。示例请求如下所示:
{
"username": "john.doe@foo.com",
"password": "myPa$$word",
"relayState": "/myapp/some/deep/link/i/want/to/return/to",
"options": {
"multiOptionalFactorEnroll": false,
"warnBeforePasswordExpired": false
}
}
响应将返回sessionToken值
2) 现在使用该值作为输入,您可以使用/api/v1/sessions?additionalFields=cookieToken返回cookieToken
请求将如下所示:
{
"sessionToken": "1234123DGSABDaSDBasdbaasbdasdb-ABCDEAERasdlzxk"
}
响应将包含cookieToken值
3) 现在,您可以使用触发SAML的应用程序SSO URL,并在末尾附加一次性cookietoken以获得SAML断言。如果您在浏览器中粘贴此URL,它实际上会将您登录到启用SAML的应用程序
示例URL为:
我尝试使用这种方法对SharePoint服务器进行身份验证,但当我调用/api/v1/sessions?additionalFields=cookieToken端点并从/api/v1/authn返回sessionToken时,响应总是403-禁止[“无效会话”],即,{“错误代码”:“E0000005”,“错误摘要”:“无效会话”,“错误链接”:“E0000005”,“errorId:“oaew0udr2ElRfCnZvBFt075SA”,“errorCauses:[]}我用Java完成了这项工作。您可以在