identity4使用mysql_IdentityServer4(1) + Mysql

IdeneityServer 使用的是内存缓存的存储方式,所有的配置都写在Config.cs里。在实际应用中,应该使用数据库存储方式,方便随时配置,如添加新的用户、资源、客户端,也可以节省服务器内存。

本文从三个方面来实现 IdentityServer4 结合 Mysql 从而实现数据库存储方式,分别是客户端及资源数据、令牌及授权码数据以及用户数据。

一、核心

这里的核心是有三个上下文:

1. 配置数据(资源、客户端、身份)对应配置上下文 ConfigurationDbContext(负责数据库中对客户端、资源和 CORS 设置的配置存储);

2. 操作数据(令牌,代码和用户的授权信息 consents)对应操作上下文 PersistedGrantDbContext(负责存储同意、授权代码、刷新令牌和引用令牌);

3. 用户数据(用户,角色,Claim)对应用户上下文 ApplicationDbContext(实现 User、Role、Claim 之间交互)。

前两个在 IdentityServer4中已经封装好了,第三个可以自定义 ApplicationDbContext 继承 NetCore 自带的 Identity 认证机制,也可以不继承自定义表结构。

二、准备内容

mysql 数据库

Nuget 所需包

IdentityServer4

IdentityServer4.EntityFramework

IdentityServer4.AspNetIdentity

Pomelo.EntityFrameworkCore.MySql

Microsoft.EntityFrameworkCore.Tools

新建 appsett

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值