日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABP VNext实践之搭建可用于生产的IdentityServer4

發布時間:2023/12/4 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABP VNext实践之搭建可用于生产的IdentityServer4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言


用了半年多的abp vnext,在開發的效果還是非常的好,可以說節省了很多時間,像事件總線、模塊化開發、動態API進行遠程調用、自動API控制器等等,一整套的規范,讓開發人員更方便的集成,提升效率;大家如果想多了解abp vnext 更多的資料或者源碼,可以到github上看,文章結尾也會給出源碼地址和wiki地址,優秀的你們要更優秀才行。

今天給大家講講如何在利用abp vnext框架搭建IDS4且可以在生產環境下使用的,其中也需要針對于IDS4在liunx系統使用nginx代理中端點不是https的特別注意事項配置,這個也是一個坑,如果不注意,授權就不成功,除非配置了跳過https的強制驗證;

二、ABP VNext CLI生成一個項目解決方案


CLI 命令大家可以參考wiki,命令如下:abp new Louie.Ids4Demo --ui none --separate-identity-server,其中?--separate-identity-server代表將IdentityServer應用程序與API host應用程序分開,--ui none 無UI;打開命令窗口,拷貝進去后就可以生成一個解決方案;

然后我們授權需要修改一下項目中的代碼遷移配置,因為我這邊用的是mysql,而命令生成的是使用sqlserver,在 Louie.Ids4Demo.EntityFrameworkCore中把SQLServer改成Mysql nuget包,并且在DbMigrations類庫中刪除Migrations文件夾,然后修改DbContextFactory.cs里面的配置;截圖如下:

1、Louie.Ids4Demo.EntityFrameworkCore 類庫,去掉sqlserver包,添加mysql包

?打開?Ids4DemoEntityFrameworkCoreModule 修改模塊注入和命名空間

?2、Louie.Ids4Demo.EntityFrameworkCore.DbMigrations 類庫,刪除Migrations文件

并且修改Ids4DemoMigrationsDbContextFactory.cs文件中的鏈接配置

?3、在Louie.Ids4Demo.IdentityServer 主程序中 appsetting.json 添加數據庫連接字符串

4、然后使用遷移命令,生成對應的數據庫表

?5、打開Louie.Ids4Demo.IdentityServer 主程序,打開Ids4DemoIdentityServerModule.cs 類

在里面配置自定義的RSA非對稱加密證書,并且禁止在開發環境下由系統生成的臨時證書,我們需要使用重寫PreConfigureServices來替換框架默認的配置

當然證書是我自己生成的,大家可以自行生成,把生成好的證書放在主程序的目錄下,然后再appsetting.json 中配置一下

上面配置中有涉及到AddResourceOwnerValidator主要是用到密碼模式下的自定義驗證邏輯以及添加聲明,如果大家不需要則可以不用配置,直接注釋;AddProfileService 主要是是聲明claims需要和庫表中定義的申明一致,否則無法顯示,這個也是一個安全校驗的方式。

配置完后啟動打開瀏覽器,并且啟動的url后綴添加 .well-known/openid-configuration,如果可以查看到端點則代表配置成功。

?

6、問題來了,在我們的IDS4部署到docker上后,發現查看的端點不是https的,我們需要在OnApplicationInitialization 方法中配置一個特殊代碼

當然大家也可以看一下一個解決方案的issue:https://github.com/dotnet/AspNetCore.Docs/issues/2384

主要阿德原因是使用的反向代理導致域名是https的,但是端點無法映射https;插入以下代碼即可

大家在部署到生產線后就可以看到端點已經是https了

7、ids4配置已經介紹完成了,希望大家可以多為.net core開源社區貢獻一份力量

如果在開發過程中遇到問題,歡迎留言。

本文轉載自博客園:https://www.cnblogs.com/guolianyu/p/13600513.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的ABP VNext实践之搭建可用于生产的IdentityServer4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。