簡體   English   中英

Angular 4/5 + Spring Boot + Oauth2支持

[英]Angular 4/5 + Spring Boot + Oauth2 support

我有使用Angular 4/5和Spring Boot構建的Web應用程序。 現在我想將用戶帳戶添加到我的應用程序中,在那里我遇到了一些問題。 我想要我的Auth服務(在Spring Boot中),並且我想要使用Facebook和Google等提供程序。 我的第一個問題是,當用戶選擇Facebook進行身份驗證時,我的資源服務器將如何知道誰在請求資源。 當我使用自己的身份驗證服務器時,我會這樣做:

@GetMapping("/user/name")
public ResponseEntity<String>(Principle principle) {
     return new ResponseEntity<String>(principle.getName(), HttpStatus.OK);
}

並且這是可行的,但是當用戶使用Facebook或Google auth時如何獲取用戶名?

我的第二個問題是如何正確處理Angular 4中的過期令牌時間。

我的第三個也是最后一個問題。 我的服務器上的某些資源可供未登錄用戶使用(匿名),那么我該如何保護我的資源以防止使用我的API的客戶端以外的資源?

如果您有任何建議或示例,請提供幫助!

不用擔心對您的問題的粗魯評論,單點登錄(SSO)可能會非常復雜。

如果您使用Facebook和Google作為可選的SSO提供程序,那么您要意識到的是,這些提供程序將在您請求用戶信息的同時為您提供某種唯一標識符。

Spring Security和相應的Spring Boot自動配置為將SSO用戶信息鏈接到主體提供了相當不錯的支持。 病態下面添加了一些很好的參考資料,以幫助理解Springs的解決方案。 由於您的版本未列出,因此我將假設使用Spring Boot 2和Spring Security 5。

如果您想做的不僅僅是SSO,還可以研究Spring Social

暫無
暫無

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

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