java-哪种方式易于实现且安全,用于 Web 应用程序/Web 服务中的最终用户身份验证

标签 java oauth jax-rs basic-authentication digest-authentication

我将创建一个应用程序,该应用程序将有一个常规的 Web 界面,用户可以在其中注册、访问一些资源。

我正在阅读不同的身份验证方式 - 基本身份验证、摘要身份验证、openid、oauth、oauth2...

我想知道的是,如果我实现基本或摘要身份验证,那么它安全吗?因为在我访问的许多网站中,讨论的都是关于 oauth 及其安全性。 我访问的一些网站中也提到了 Open ID...

我正在研究的最终用户身份验证的当前使用场景是针对 Web 应用程序中的 Web 界面。另一个使用场景是基于 JAX-RS 的 Web 服务。对于这两种使用场景,哪种身份验证方式是安全的?理想情况下,我想在这两种情况下使用相同的身份验证方式...

最佳答案

对于面向用户的部分,Web 浏览器开箱即用地支持 Basic 和 Digest。如果您使用 cookie 建立 session ,基于表单或 OpenID 身份验证也将起作用。 如果您使用 Basic,请务必使用 SSL,因为密码将在消息 header 中以未加密的方式传递。

OAuth 的目标是授权第 3 方客户端,以便他们可以在不知道用户密码的情况下访问用户拥有的资源,并且不一定具有与用户本身相同的访问级别。我建议将其用于编程 API。

关于java-哪种方式易于实现且安全,用于 Web 应用程序/Web 服务中的最终用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178735/

相关文章:

python - 将 Google EmailSettings API python 代码从 OAuth1 移动到 OAuth2 服务帐户

android - 从 Chrome 自定义选项卡重定向到 Android 应用时出现 "Navigation is blocked"

javascript - 保护我的私有(private) API

java - 启动时加载和 Jersey

java - CXF jax-rs 异常映射器选择顺序

jsf - 如何在JSF框架中实现JAX-RS RESTful服务

java - Java ClassLoader 是否加载内部类?

java - 如何使用旧的 JSESSIONID 创建 HttpSession?

java - 如何使用第二个身份验证因素来保护某些 REST 请求?

java - 如何在 Intellij IDEA 中使用 Junit 删除自动代码完成