4

1 つの ID プロバイダー (LinkedIn) が構成された Azure B2C を使用しています。Web API (b2c ベアラー認証) と Web アプリ MVC (b2c Open Id) があります。

永続的なログインを作成しようとしています。つまり、ユーザーは、指定されたデバイスとブラウザーから 90 日ごとに 1 回、LinkedIn 経由でログインできます。

最も近いのは、Web アプリに IsPersistent = true コードを追加して有効にしたときです。

更新: Azure B2C GA に基づいてコードを更新しました。Preview で到達した場所を達成するために、カスタムの authorize 属性を引き続き使用しますが、コードは更新されました。

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
          filterContext.HttpContext.GetOwinContext().Authentication.Challenge(
            new AuthenticationProperties()
            {
                IsPersistent = true
            });
        base.HandleUnauthorizedRequest(filterContext);
    }

ただし、これは約1時間しか有効ではありません。おそらく、アクセスとIDのポリシーに従っていますか?リフレッシュ トークンに制限はありません。「IsPersistent」に 1 時間しかかからない理由がわかりません。

Azure のトークン セッション構成

したがって、これらの質問につながります。

  1. 永続的なセッション (60 ~ 90 日) は Azure B2C (OpenId Connect) で実現できますか?
  2. もしそうなら、私が欠けているものについての指針はありますか? カスタム Cookie 検証を行う必要がありますか? リフレッシュ トークンを使用するもの (私はそれらを Web API に使用しますが、Web アプリでは何もカスタムしません)。

どんな考えや意見も素晴らしいでしょう!

4

1 に答える 1