首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >asp.net核心标识+应用编程接口

asp.net核心标识+应用编程接口
EN

Stack Overflow用户
提问于 2017-01-11 19:30:22
回答 2查看 3.8K关注 0票数 7

我刚刚开始学习asp.net核心。我想创建一个简单的web应用程序,在那里我会有一个asp.net核心的rest API,然后与一些角度消费该API的单独前端。

我只是在尝试弄清楚ASP.NET核心身份和cookie/token身份验证时遇到了一点麻烦……

我的问题很简单:我可以创建一个应用程序接口,并使用实体框架来处理数据库处理和ASP.NET核心身份来处理创建和管理用户和授权吗?我还需要使用一些JWT,OAuth或者类似的东西吗?只是这一切对我来说都是超级新鲜的,我感到困惑,因为每个例子/教程都以不同的方式展示它,我变得非常困惑……

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2017-02-19 01:11:13

我正在做一个非常相似的项目。查看IdentityServer4 https://identityserver4.readthedocs.io/en/release/index.html。这是一个开源的OpenID连接/OAUTH2框架,用于ASP.NET核心,由至少特权https://leastprivilege.com的人创建。

您可以使用ASP.NET来保护您的API,并将JWT配置为将JWT核心标识用于其用户存储。本节介绍如何保护接口:https://identityserver4.readthedocs.io/en/release/configuration/apis.html

这基本上就是如何添加ASP.NET标识、IdentityServer和配置IdentityServer以在Startup.cs中使用ASP.NET标识的方法:

代码语言:javascript
运行
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddIdentity<ApplicationUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();

services.AddMvc();

// Adds IdentityServer
services.AddIdentityServer()
    .AddAspNetIdentity<ApplicationUser>();
}

然后在Startup.cs中只需几行代码就可以保护API。

代码语言:javascript
运行
复制
public void Configure(IApplicationBuilder app)
{
    app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
    {
        Authority = "https://demo.identityserver.io",
        AllowedScopes = { "api1" },
    });

    app.UseMvc();
}

然后,您必须将您的angular应用程序配置为IdentityServer的“客户端”,并能够访问您的API“资源”。有一个关于添加JavaScript客户端的完整教程:https://identityserver4.readthedocs.io/en/release/quickstarts/7_javascript_client.html

票数 2
EN

Stack Overflow用户

发布于 2017-03-08 22:02:52

我是否可以创建一个应用程序接口,并使用实体框架来处理数据库处理和ASP.NET核心标识来处理创建和管理用户和授权?:

ASP.NET核心身份框架利用实体框架来处理/管理用户身份验证和授权。实现后,框架将使用实体框架生成Identity Framework所需的数据库和表。因此,在使用Identity Framework编写用于用户管理的api/逻辑时,您必须使用EF。对于所有其他模型/实体,您可以只使用您自己的数据库(独立于身份数据库),并仍然选择为该部分使用EF,但这取决于您。

我还需要使用一些JWT,OAuth或者类似的东西吗?

这也取决于您,这是受支持的,但不是强制的。

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

https://stackoverflow.com/questions/41589749

复制
相关文章

相似问题

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