簡體   English   中英

RESTful服務的兩種身份驗證

[英]Two Authentications For RESTful Services

我們有一個中央的RESTful Web服務應用程序,該數據向許多不同的客戶端(解析器,Web應用程序,觸摸應用程序等)公開數據。 客戶端使用不同的方式來驗證用戶身份,有些是LDAP,有些則沒有。 無論如何,RESTful應用程序將最終用戶的身份驗證留給客戶端,而僅對發出請求的客戶端進行身份驗證。 客戶端將在LDAP中具有用戶名和密碼,以及客戶端可以從中訪問RESTful應用程序的可接受IP地址的列表。

這是棘手的部分:RESTful應用程序必須使用最終用戶的用戶名審核每個請求。 此外,在某些情況下(取決於客戶端),RESTful應用程序將需要最終用戶的用戶名和密碼來訪問第三方應用程序。 因此,來自客戶端的每個請求都將具有針對客戶端本身和訪問客戶端的最終用戶的身份驗證憑據。

問題來了。 最好將客戶端的憑據放入基本身份驗證,然后通過加密的SALT請求參數傳遞最終用戶的憑據嗎? 或者,客戶端應將兩組憑據都放入“基本身份驗證”中(即system_username:systempwd〜userpwd),然后將它們解析為兩組令牌,然后對它們進行身份驗證。 或者,另一個解決方案比這兩個方案中的任何一個都更好?

這聽起來很像OAuth2的“資源所有者密碼憑據授予”-請參閱http://tools.ietf.org/html/rfc6749#section-4.3 您可以在“授權”標頭中傳遞應用程序/客戶端憑據,並在使用x-www-url-encoded編碼的正文中傳遞客戶端信息。 在會話開始時執行一次該操作,然后再依賴授權標頭中的承載令牌。 所有這些都在RFC中進行了描述。 切記使用SSL / TLS加密憑據。

暫無
暫無

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

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