我花了很长时间尝试将ASP.NET 5.0应用程序转换为ASP.NET Core 2,但我找不到一些东西。我正在尝试获取当前安装支持的外部提供商(Google,Facebook等)列表。 Pre Core,我会用过:
Context.GetOwinContext().Authentication.GetExternalAuthenticationTypes()
当然,由于OWIN参考,我不能再使用它了,但我也无法在其他任何地方找到类似的功能。我不想手动设置它。有没有使用它来创建一个不错的社交登录页面的示例?任何帮助将不胜感激!
答案 0 :(得分:2)
您需要SignInManager.GetExternalAuthenticationSchemesAsync
吗?
var loginProviders = (await SignInManager.GetExternalAuthenticationSchemesAsync()).ToList();
<div>
<p>
@foreach (var provider in loginProviders)
{
<button type="submit" class="btn btn-default" name="provider" value="@provider.Name" title="Log in using your @provider.DisplayName account">@provider.DisplayName</button>
}
</p>
</div>
</form>
}