0

我能否使用AWS Cognito使用基本身份驗證來公開我的REST API?用於基本身份驗證的AWS Cognito

基本上,如果我的客戶端在瀏覽器中擊中了我的REST端點,它應該會提示輸入用戶名和密碼。此外,我的API應該採取用戶名和密碼,將其傳遞給cognito,並得到驗證。

此流程是否會生效?Cognito會公開任何API以進行基本身份驗證嗎?我可以從我的後端調用以驗證我的客戶端用戶名和密碼。

問候 大師

回答

0

這應該工作。 Cognito爲各種語言(如Java,Javascript,C++)提供低級客戶端。使用這些客戶端從後端調用Cognito應該是可行的,並且您可以使用ADMIN_NO_SRP_AUTH身份驗證流進行用戶名/密碼驗證。

在Cognito,我們暴露了2層的API:initiateAuth或adminInitiateAuth和respondToAuthChallenge或adminRespondToAuthChallenge可以用來傳遞參數來啓動認證,並用密碼進行響應。

+0

毫無疑問,Cognito將允許應用程序以明文形式收集用戶憑據,並將其傳遞到服務中用於驗證用戶身份。這相當於「免費密碼贈送日」,不是嗎?另外,我是否脫離了上下文? [「InitiateAuth和RespondToAuthChallenge API不接受ADMIN_NO_SRP_AUTH AuthFlow。」](http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html)你能澄清嗎? –

+1

Cognito公開了兩種類型的API initiatorAuth和respondToAuthChallenge是未經驗證的API,您可以在沒有AWS憑證的情況下自由調用。這些API具有發送密碼聲明的USER_SRP_AUTH流程。 Cognito爲Android,iOS和Javascript提供了用於執行SRP BigInteger數學計算的客戶端SDK。在服務器端,Cognito提供了經身份驗證的API的adminInitiateAuth和adminRespondToAuthChallenge,它們需要AWS憑證。在您鏈接的文檔中:「用於安全的後端服務器,如果您想避免SRP計算」,請參閱ADMIN_NO_SRP_AUTH和管理API。 –