尋找關於如何使用akka HTTP進行身份驗證的很好的解釋。由於看起來像如何使用Akka HTTP進行身份驗證
val route =
path("account") {
authenticateBasic(realm = "some realm", myAuthenticator) { user =>
get {
encodeResponseWith(Deflate) {
complete {
//do something here
}
}
}
}
}
The documentation概括的方式,但隨後被省略執行實際認證的相關部分在哪裏可以找到這樣的認證的示例實現的路線......
// backend entry points
def myAuthenticator: Authenticator[User] = ???
?我已經有了用於給定用戶名和密碼的用戶身份驗證的邏輯,但我無法弄清楚如何從HTTP請求(或RequestContext)獲取用戶名/密碼(或包含兩者的令牌)。
這使得更多的意義,但我不明白的線 '如果(p.verifySecret(myGetSecret(用戶名))' 任何機會,你能解釋一下有關的祕密電話? – mattmar10
@ user1551604' myGetSecret'是你的自定義函數,它可以獲取'username'並返回你的祕密(例如密碼),從數據庫中獲取它。'verifySecret'將安全地比較(避免計時攻擊)提供密碼myGetSecret – dk14
謝謝你添加那麼它有一點幫助,那麼myGetSecret函數的參數是什麼?我猜這只是一個字符串?它應該返回什麼?我有用於存儲用戶的密碼(以使用BCrypt的散列形式),因此,會不會是密碼? – mattmar10