各种坑——IdentityServer4与MySQL

自从.Net Core发布以来,一直保持关注却没怎么使用过。最近某人需要一套SSO(Single Sign On,单点登录)的Web应用,所以决定研究一下Asp.Net Core。

背景:为了不重复造轮子,选择Apache2.0协议开源的OpenID Connect OAuth 2.0框架IdentityServer4和 ASP.NET Core Identity

  1. 两个框架都支持EntityFrameworkCore,但官方文档却只有SqlServer的说明。
  2. 有一篇关于ASP.NET Identity使用MySQL数据库的文档,需要的包却不支持ASP.NET Core
  3. MySQL的官方EntityFrameworkCore驱动还处于“预发行”的状态……不得以之下选择了一个第三方的驱动Pomelo.EntityFrameworkCore.MySql
  4. 由于第三方驱动使用的还是MySQL官方的Connector,此处又有巨坑 Bug #82981
  5. 从其他项目里复制表结构,手动创建__EFMigrationsHistory表,解决问题。

解决问题后能正常注册,OpenID登录的代码已上传到Github

参考资料:

Copyright © 2017 – 2018, Mjollnir. 除非另有声明,本网站采用知识共享“署名-非商业性使用-相同方式共享 3.0 中国大陆”许可协议授权。

3 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据