java - 面向公众的安全 API

标签 java spring rest authentication cookies

我正在开发面向公众的网络服务。身份验证由第三方完成,我们对其没有任何控制权。当用户访问我的页面时,我可以通过将请求发送到第三方 URL 来手动触发身份验证过程,第三方 URL 反过来向我发送响应,建议请求是否有效。如果它有效,我可以在 cookie 中设置一些值,稍后我可以使用它们来发送用户信息。 要求是公开一项 Web 服务,该服务可以检查请求是否未被篡改以及用户是否经过身份验证。如果已通过身份验证,则请求的用户信息属于请求该信息的同一用户。

如果我只使用 cookie 信息,那么它不安全,任何人都可以更改它并可以访问其他用户数据,所以我假设应该有某种 token 身份验证或 key 共享来加密/解密,但我可能完全错了:)

应用程序(服务器/url)是否被授权访问该应用程序。 用户 X 只能访问用户 X 数据,而不能访问用户 Y 数据。

我正在使用 Spring Web 服务作为 Web 服务。 我遇到的大多数示例都使用登录表单,其中用户填写他的用户 ID/密码,这在我的情况下是不可行的。

我现在陷入困境。任何指示表示赞赏。 也欢迎任何引用链接。

最佳答案

看看JWT (JSON 网络 token );我认为这就是您正在寻找的,尽管我不确定对方在这方面是否足够灵活。

关于java - 面向公众的安全 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33637454/

相关文章:

java - 是否可以在 android/iOS 中向 FCM 通知添加图像图标?

java - 如何获取 REST 端点的 URL?

java - POST 中的 Jersey @HeaderParam null

javascript - 如何使用 thymeleaf 将翻译放入 javascript

java - 使用 java、eclipse 和 ant 自动复制构建的文件和库

java - 为什么在 ReentrantReadWriteLock 中,readLock() 应该在 writeLock().lock() 之前解锁?

java - CAS + Spring Security 检测本地主机

java - 使用 hibernate 6.0.10 验证结果来自 EachPattern 的 ConstraintDefinitionException

java - Spark - 使用不可序列化的成员序列化对象

java - 访问 REST Web 服务的摘要式身份验证