簡體   English   中英

如何從休息服務驗證用戶

[英]How to authenticate users from a rest service

我正在嘗試使用drop wizard使用我構建的REST服務對用戶進行身份驗證。 從以前的問題我發現在github上使用openID進行身份驗證的很好的例子: https//github.com/gary-rowe/DropwizardOpenID

但是,我現在不想處理openID,只是希望用戶1.注冊,2。登錄

我的問題/困惑是:

  1. 對於注冊:我正在考慮將用戶的用戶名/密碼作為POST請求發送,其中憑據作為表單參數或JSON正文的一部分。 但是,以明文方式發送密碼不存在安全風險嗎?

  2. 對於Sing-in,我正在考慮在Dropwizard中使用Authenticator

  3. 我不想以純文本格式存儲密碼。 POST中將用戶密碼作為純文本后,我應該遵循什么策略? 我正在尋找一些可以幫助密碼鹽和MD5的java庫

查看文檔,我們可以看到Dropwizard支持獨立的OAuth2實現:

http://dropwizard.codahale.com/manual/auth/#oauth2

OAuth2有幾個優點,其中許多可以在這里閱讀: OAuth 2.0:好處和用例 - 為什么?

注意事項:

  • 在處理身份驗證時,您應始終通過HTTPS進行托管以確保傳輸加密
  • Dropwizard聲稱他們的OAuth2實現尚未最終確定,並且可能在未來發生變化。 作為后退,它們也支持Basic auth,當通過HTTPS使用時仍然相當安全。
  • 實現此功能不涉及使用任何第三方“社交”身份驗證服務,如Google或Facebook。

感謝您對Dropwizard OpenID項目的吶喊。 很高興能夠讓你入門。

如果您需要純Web表單類型方法,請查看我的另一個項目MultiBit Merchant ,它提供多種身份驗證方法(Web表單,HMAC,cookie)。

你需要深入挖掘才能真正看到它的工作原理,因為這個項目並不像這樣的演示而設計,而且正在進行中。

加載項目后,查找WebFormClientAuthenticator ,它將使您進入正確的區域。

本博客文章中討論了Dropwizard身份驗證涉及的一般原則。 雖然它針對HMAC,但您可以使用前面引用的源代碼輕松地將其調整為Web表單或cookie。

這都是麻省理工學院的許可證,所以只需根據需要使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM