外部コールバックでは、トリックを行うことができます...次のコードは、MVCのOWINセキュリティ認証を使用して実装されています。
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
try
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
//get the user info i.e. username/email from claim and validate this user from identity.
//You can manually do it by fetching the data from identity tables.
//Match the case and generate a session and direct to home.
}
catch(Exception ex)
{
}
}
あなたはstartup.csにおけるアプリとフェッチされたユーザー情報を登録し、サードパーティの認証サーバーから、特許請求の範囲にそれらを置いていることを確認します。
//app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
//{
// ClientId = "",
// ClientSecret = ""
// Claims here after thentication
//});
返信ありがとうございます!申し訳ありませんが、明確ではないが、アイデンティティに登録する必要があります。単にパススルーするだけではありません。これは私に、Createメソッドをパスワードなしで登録して利用するように促したと思うが、毎回外部アプリにauthのためにループバックするだけだ。 – Ringo64
@ Ringo64ああ、私はそれらのユーザーが既に登録されていると思った。 'await UserManager.CreateAsync(model);'を使って同じ方法で新しいユーザを登録することができます。 – Alisson