我正在尝试使用我使用drop wizard构建的REST服务对用户进行身份验证。从以前的问题我发现在github上使用openID进行身份验证的很好的例子:https://github.com/gary-rowe/DropwizardOpenID
但是,我现在不想处理openID而只是希望用户1.注册,2。登录
我的问题/困惑是:
对于注册:我正在考虑将用户的用户名/密码作为POST
请求发送,其中包含凭据作为表单参数或JSON正文的一部分。但是,以纯文本方式发送密码不存在安全风险吗?
对于Sing-in,我正在考虑在Dropwizard中使用Authenticator
。
我不想以纯文本格式存储密码。在用POST
中的用户密码作为纯文本后,我应该遵循什么策略?我正在寻找一些可以帮助密码盐和MD5
答案 0 :(得分:1)
查看文档,我们可以看到Dropwizard支持独立的OAuth2实现:
http://dropwizard.codahale.com/manual/auth/#oauth2
OAuth2有几个优点,其中许多可以在这里阅读:OAuth 2.0: Benefits and use cases — why?
注意事项:
答案 1 :(得分:1)
感谢您对Dropwizard OpenID项目的大喊大叫。很高兴它能让你入门。
如果您需要纯Web表单类型方法,请查看我的另一个项目MultiBit Merchant,它提供了多种身份验证方法(Web表单,HMAC,cookie)。
你需要深入挖掘,才能真正看到它的工作原理,因为这个项目不是作为一个演示而设计的,而且正在进行中。
加载项目后,查找WebFormClientAuthenticator
,它会让您进入正确的区域。
Dropwizard身份验证涉及的一般原则are discussed in this blog article。虽然它针对HMAC,但您可以使用前面引用的源代码轻松地将其调整为Web表单或cookie。
这都是麻省理工学院的许可证,所以只需根据需要使用它。