首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC6社会认证

MVC6社会认证
EN

Stack Overflow用户
提问于 2016-02-24 01:27:20
回答 1查看 724关注 0票数 1

我目前正在使用ASP.NET核心MVC6构建一个web应用程序,并使用新的身份模型。不幸的是,目前关于这个主题的文档不多,我想实现社会认证。如何用MVC6/Identity来实现这个功能,最好的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-03 20:15:28

正如Joe提到的,有相当好的文档:使用外部提供程序启用身份验证

有Facebook的例子,但与添加微软、Google和Twitter的方式相同--只需通过NuGet包(Microsoft.AspNet.Authentication*)添加提供程序--或者您可以将通用OAuth 2.0提供程序与支持OAuth 2.0的任何其他客户端一起使用。

但是请注意,我提到的OAuth 2.0提供程序可能会对其他提供程序产生意想不到的影响,特别是当您设置CallbackPath时--不要问为什么,因为我还不知道。

现在,我只使用Microsoft和Google提供商,它们都可以很好地处理默认设置--下面可以找到我使用的作用域的示例:

代码语言:javascript
复制
Startup.cs
...

app.UseIdentity();

// External Authentication
app.UseGoogleAuthentication(options =>
{
    options.ClientId = Configuration["OAuth:Google:ClientId"];
    options.ClientSecret = Configuration["OAuth:Google:ClientSecret"];
    options.AutomaticAuthenticate = false;
    options.Scope.Add("https://www.googleapis.com/auth/userinfo.email");
    options.Scope.Add("https://www.googleapis.com/auth/userinfo.profile");
    //options.Scope.Add("https://www.googleapis.com/auth/plus.me");
    //options.Scope.Add("https://www.googleapis.com/auth/plus.login");
});

app.UseMicrosoftAccountAuthentication(options =>
{
   options.ClientId = Configuration["OAuth:MicrosoftAccount:ClientId"];
   options.ClientSecret = Configuration["OAuth:MicrosoftAccount:ClientSecret"];
   options.AutomaticAuthenticate = false;
   options.Scope.Add("wl.emails");
   options.Scope.Add("wl.basic");
   //options.Scope.Add("wl.phone_numbers");
   //options.Scope.Add("wl.signin");
   //options.Scope.Add("wl.offline_access");
});

...

有关作用域的更多信息:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35591604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档