[英]Designing the flow of OAuth2 authentication
我正在嘗試為父/子關系提出適當的OAuth2身份驗證流程。
App-A和App-B是兩個獨立的應用程序。 App-A
打開App-B
的iframe中時從一個鏈接的點擊App-A
我負責維護App-B
。
如何設計流程,以便App-B
識別來自App-A
用戶並在兩個應用程序之間保持相同的會話?
到目前為止,這是我想出的流程:
App-A
將提供客戶端ID和秘密密鑰對App-B
的相互作用之前。
用戶使用parentId
向App-B
GET /person
端點發出請求。
然后, App-B
會將請求發送給App-A
服務器,該請求的客戶端ID,私鑰和redirect-url
設置為GET /person
。
現在, App-A
將發送給App-B
以傳遞經過身份驗證的用戶的會話信息。
如果流程沒有意義,您可以擺脫它
您的問題類似於在多個應用程序中維護會話。
您的方法的問題是您需要從前端或以某種方式向AppA(維護當前用戶會話)發出該請求,以公開客戶端ID /秘密
這是您可以實現的一些想法,
兩個應用程序都在同一父域下嗎? 如果是這樣的話,
類似於appA.domain.com和appB.domain.com然后,在成功通過身份驗證之后,您可以在父域* .. domain.com中設置一些會話標識符cookie,然后從appB中獲取獲取當前用戶會話,從中可以獲取也是accessToken。
如果兩個應用程序都在不同的域中 ,則
您需要具有一些將共同維護會話的公共身份驗證服務器,因此,當appA加載且沒有可用會話時,它可以重定向到公共身份驗證服務器,該服務器依次檢查會話(如果不讓用戶登錄),然后將數據發送回去到appA
appB的流程相同。
另請檢查此鏈接http://merbist.com/2012/04/04/building-and-implementing-a-single-sign-on-solution/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.