我正在开发面向公众的网络服务。身份验证由第三方完成,我们对其没有任何控制权。当用户访问我的页面时,我可以通过将请求发送到第三方 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/