- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个使用 SprintBoot 和嵌入式 Jetty 服务器的 Java 8 后端应用程序。
应用程序的 UI 是使用 React 构建的单页应用程序。
目前,我已使用 spring security SAML 扩展与 Okta 集成来启用身份验证。当 Okta 将断言发布到我的应用程序时,我创建一个 session ,并在 cookie 中发送 JSESSIONID。
直到现在,当我们有一个非常简单的 UI 提供很少的 UI 组件时,这一切都很好。
但是,现在我们的后端有多个 REST 端点,我们也希望它们能够进行身份验证。 REST 端点本身是使用 Jersey 开发的。
如果我理解正确的话,SAML 显然不是基于纯 REST 的端点的选择,因为 SAML 主要是基于浏览器的协议(protocol)。这些 REST 端点也将由我们的 UI 调用,我们希望通过 Postman 或其他东西独立调用它们以进行测试。
当客户端调用这些 REST API 时,我猜测客户端应该发送一个授权 header ,该 header 应该由后端的身份验证过滤器之一进行检查。验证客户端和用户后,过滤器应将用户信息注入(inject)到 SecurityContext 中,因为 Jersey 会在所有 REST 端点中注入(inject) SecurityContext。然后从这个 SecurityContext 中获取用户就变得更容易了。
经过阅读,Okta OpenID Connect 似乎是发布 JWT 的一种选择。但是我不清楚如何使用它。也就是说,当 Okta 发出 JWT 时,我们的 UI 或任何客户端是否应该继续将授权 header 中的 JWT 发送到我们的 API,然后我们的 API 又应将 JWT 发送到 Okta 来验证它?
问题是,服务 UI 登录和 session 以及验证 REST 端点的最佳选择是什么?更不用说 REST API 本质上是无状态的。
最佳答案
When a client would call these REST APIs, I am guessing the client should send an Authorization header which should be checked by one of the authentication filters in the backend
在 OpendID Connect (OIDC) 中,授权 header 中的值是 id_token,可以采用 JWT 格式。此 id_token 由 OIDC 服务器颁发,作为您选择并适用于您的案例的 OIDC 授权类型的最后一步。
Upon reading, it seems Okta OpenID Connect can be one choice which issues a JWT. However I am not clear on how to use this. That is, when Okta issues a JWT should our UI or any client for that matter keep sending the JWT in the Authorization header to our APIs and then our APIs in turn should send the JWT to Okta to validate it?
认为此架构中有 3 个组件。依赖方(客户端)、身份服务器/授权服务器/OIDC 提供者和资源服务器(您的后端及其数据)。当授权服务器向依赖方发出 id_token 时,您的资源服务器也知道此 token 。因此,当您在资源服务器中请求数据时,您将向资源服务器出示您的 id_token,它知道它是否有效 id_token 或无效
Question is what is the best choice to serve both, a login for the UI and a session and authenticating REST endpoints?
OIDC Provider(如果需要更复杂的操作,则为 Identity Server),因为 OIDC 是授权(核心是 OAuth 2.0)和身份验证。
关于java - 使用 Okta 验证其余端点和 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41663913/
我有一个已集成 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 对后端服务进行身份验证时,
我是一名优秀的程序员,十分优秀!