簡體   English   中英

如何將AWS Cognito與自定義NodeJS服務器一起使用?

[英]How do you use AWS Cognito with a custom NodeJS server?

我正在使用Angular和NodeJS構建應用程序。

我聽說過AWS Cognito,並希望在我的應用程序中使用它。 但是,在文檔中尚不清楚它應該如何工作。

有一個關於如何在Angular SPA中使用Cognito 的示例 ,但是沒有關於如何使用它來對我的備份NodeJS服務器上的用戶進行身份驗證的消息。

NodeJS應該如何知道用戶是否已登錄? 我可以想到幾個可能的答案,但是沒有答案出現在文檔中,而且令人驚訝的是沒有代碼示例。 因此,我決定在投入大量時間進行反復試驗之前先在這里詢問。

您可以在后端NodeJS服務器中使用AWS Cognito Userpools對用戶進行身份驗證。 步驟如下。

  • 創建一個Cognito用戶池並設置一個App Client。
  • 創建一個Cognito用戶池(如果希望用戶直接允許對AWS服務的受控訪問,則可以選擇Cognito聯合身份)。
  • 配置Cognito托管UI(“內置登錄”頁面和(可選)“注冊”頁面)。
  • 對於用戶登錄,將用戶重定向到該域URL進行登錄。
  • 使用重定向URL設置到App Client的App Client進行Oauth2流。
  • 用戶登錄后,您將在URL中收到一個id_token(例如,在隱式授予流中),您可以將其轉發到NodeJS服務器,在其中可以使用NodeJS中間件對其進行驗證。
  • 您可以決定將id_token存儲在cookie還是瀏覽器存儲中,並為后續請求相應地實現存儲和驗證。

注意:由於id_token是標准的JavaScript Web令牌(JWT),因此您可以找到一個庫對其進行驗證。 有關更多詳細信息,請參閱AWS文檔將令牌與用戶池一起使用

暫無
暫無

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

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