StackExchange に似たクロス ドメイン認証システムを実装したいと考えています。stackexchange が使用するフローは次のとおりです。
ユーザーが認証されていないことを確認します。
「/users/login/global」にリクエストを送信すると、サーバーはトークンで応答します。
以前に取得したトークン (ステップ 2) を使用して、stackauth.com/auth/global に要求を行います。サーバーは、ロード時に実行される JavaScript を返します。
JavaScript は、トークンを使用して認証サーバーに別の ajax 要求を行い、別のトークン (authToken) を返します。
クライアントは、authToken を使用して「/users/login」に別のリクエストを行います。サーバーはセッション Cookie を返します。
自分で実装する前に、いくつかの手順を明確にしたいと思います。認証サーバーと現在の stackexchange はバックエンドでどのようにやり取りしていますか? 最初のトークンと 2 番目のトークンはそれぞれ何をしますか? 知っておくべきセキュリティ上の懸念はありますか?