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 時間しかかからない理由がわかりません。
したがって、これらの質問につながります。
- 永続的なセッション (60 ~ 90 日) は Azure B2C (OpenId Connect) で実現できますか?
- もしそうなら、私が欠けているものについての指針はありますか? カスタム Cookie 検証を行う必要がありますか? リフレッシュ トークンを使用するもの (私はそれらを Web API に使用しますが、Web アプリでは何もカスタムしません)。
どんな考えや意見も素晴らしいでしょう!