- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用 Okta 作为 Microsoft Office 365 和基于 PHP 的 Web 应用程序的 IDP。我们需要从 PHP 执行 REST API 调用,以使用 Okta 身份验证 token 进行身份验证来获取共享点内容。
所以根据 http://www.threewill.com/wp-content/uploads/MSOnlineAuthentication.png ,可以将 SAML 断言发送到 Microsoft 在线 STS 以获取身份验证 token ,该 token 可用于从共享点获取身份验证 cookie。当我们将 Okta 断言传递给 Microsoft 在线 STS 时,它会引发 WebSSO 无效断言。找不到断言无效的确切原因。
用于发送到 Microsoft online STS 的 SOAP Envelop 是
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<a:Action s:mustUnderstand="1">
http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue
</a:Action>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">https://login.microsoftonline.com/extSTS.srf</a:To>
<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema" s:mustUnderstand="1">
<o:SecurityTokenReference xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
<o:Embedded>
<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xs="http://www.w3.org/2001/XMLSchema" ID="id29170470933790951475177561" IssueInstant="2015-04-27T22:35:53.492Z" Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://www.okta.com/issueID</saml2:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id29170470933790951475177561">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xs"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>...</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
...
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
...
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml2:Subject xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">email@example.com</saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData InResponseTo="" NotOnOrAfter="2015-04-27T22:40:53.492Z" Recipient=""/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" NotBefore="2015-04-27T22:30:53.492Z" NotOnOrAfter="2015-04-27T22:40:53.492Z">
<saml2:AudienceRestriction>
<saml2:Audience>...</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" AuthnInstant="2015-04-27T22:35:53.492Z" SessionIndex="">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
<saml2:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">email@example.com</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
</o:Embedded>
</o:SecurityTokenReference>
</o:Security>
</s:Header>
<s:Body>
<t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
<wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<a:EndpointReference>
<a:Address/>
</a:EndpointReference>
</wsp:AppliesTo>
<t:KeyType>
http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey
</t:KeyType>
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
<t:TokenType>urn:oasis:names:tc:SAML:2.0:assertion</t:TokenType>
</t:RequestSecurityToken>
</s:Body>
</s:Envelope>
最佳答案
直到最近,这还是一个没有记录的困惑。
但 SharePoint 工程部门的某个人终于在这里发表了一篇有值(value)的博客:https://blogs.technet.microsoft.com/sharepointdevelopersupport/2018/02/07/sharepoint-online-active-authentication/
此博客提供了一个 powershell 脚本,可以获取用户的 SPOIDCRL cookie(当向 SharePoint 发出请求时,它会以该用户身份“登录”)。
这是 Gist 中该博客的 powershell:https://gist.github.com/nddipiazza/1a810cd6f94782760933163b077dade7
那么看看 powershell 的 Get-BinarySecurityToken
方法。这将向您展示如何将您的 saml 断言转换为二进制搜索 token 。然后按照代码路径了解如何将该二进制搜索 token 转换为 SPOIDCRL cookie,您就可以开始了!
关于office365 - 如何将 Okta 断言传递给 Microsoft STS 以获取授权 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907905/
我有一个已集成 OKTA 的 React native ios 应用程序,但我还需要直接在我的应用程序中使用 OKTA 自定义登录页面,这样用户就不会重定向到 okta 页面进行登录。 我可以使用 @
我一直在研究针对 Okta REST API 的用户生命周期事件。 我对各种 Okta 用户状态感到困惑,特别是 STAGED、ACTIVE 和 PROVISIONED。我看过this diagram
我正在使用 Okta C# sdk 进行开发。我在 Okta 中创建了一些自定义用户配置文件属性。我能够创建用户并将值保存在自定义属性中。 但正如我所见,当您更新个人资料数据时,您必须再次提供所有详细
我正在使用 okta sign-in widget在我们的应用程序中对用户进行身份验证。问题是,当在 Safari 中选中“防止跨站点跟踪”时(FF 具有类似的设置),登录仍然有效,但单点登录、MFA
我想了解以下场景是否可以使用 Okta 开发人员帐户来完成。我想保护一个用 Python/Flask 编写的 API,该 API 旨在由另一个后端服务以编程方式访问。没有用户交互。到目前为止,我所能找
我喜欢使用 spring-security-saml2-service-provider 的想法 - 来自文档:https://docs.spring.io/spring-security/refer
如何在 Okta 中以编程方式实现 MFA?我的要求是这样的: 对于某些用户,我想使用 Okta Verify 和一些额外的安全问题。 对于其他一些用户,我想使用 Google 身份验证以及一些额外的
我们有一个绑定(bind)到 Active Directory 的 Okta 实例。所有用户都在 AD 中创建并输入 Okta。配置文件由 AD 掌握。我们已将几个自定义属性添加到 Okta 配置文件
我们有一个 Vault 集群设置,我们正在尝试使用 Okta 对 Vault 进行身份验证。已启用身份验证并对其进行配置: vault auth enable okta vault write aut
我想使用 okta java API 验证我的应用程序。当前根据给定的代码,我被重定向到 okta,我输入我的凭据,然后它会将我踢回应用程序,但我的要求是在中输入我的凭据我的登录屏幕并在验证和成功登录
Gentics Mesh 内置了对 Keycloak 的支持,但我想改用 Okta。 最佳做法是什么? 是否需要修改 Mesh 源代码? 或者也许我应该在中间件层处理身份验证? 或者我可以实现 Aut
我正在尝试使用 Okta's Sign-In Widget和 Okta API 来找出用户与哪些组相关联。 Okta API 返回用户关联的组,但我只能在从管理控制台转到它时使用它,所以这必须基于 O
使用 okta-signin-widget 和 okta-auth-js 有什么区别? 我可以说 okta-auth-js 提供了身份验证的所有功能,并且小部件使用这些功能 + 构建视觉效果吗? 最佳
因此,我尝试将 Okta 设置为身份提供商,并且我想使用服务提供商启动的工作流程登录到应用程序。我已在 Okta 中设置模板 SAML 2.0 应用程序,并在服务提供商上设置入口点和 SAML 证书。
我的 webflux api 中有一个 CORS webFilter,当我通过 postman 为飞行前检查 list 发出选项请求时,我得到了带有正确 header 的响应。但是,当我使用 Axio
从API docs尚不清楚,一旦停用,是否可以在Okta中激活用户。 我可以看到它们在停用后会变为已取消配置状态,而且我知道该用户将从任何应用程序中撤消(全部根据文档),但是我的问题在文档中没有得到回
我正在尝试从部署到 Azure 的 Kentor AuthServices 获取示例 MVC 应用程序,并使用 Okta 作为 IDP。我跳过了几个障碍,但偶然发现了 CryptographicExc
如何在没有电子邮件地址的情况下创建唯一的用户名? 当我如下发送 curl 请求时 curl -X POST \ 'https://xxxx.oktapreview.com/api/v1/users
我找到了一个使用 OKTA's Sign-in Widget 构建 Angular 4 应用程序的教程.太棒了,我向所有刚接触 OKTA 的人推荐它。 你可以在这个 URL 找到它: https://
我正在尝试在我的 React 应用程序上设置 Okta 身份验证。在客户端,我能够成功进行身份验证并获得访问 token 。但是,当我尝试使用 OktaJwtVerfier 对后端服务进行身份验证时,
我是一名优秀的程序员,十分优秀!