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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

identity server4获取token和userInfo

發布時間:2023/12/29 综合教程 44 生活家
生活随笔 收集整理的這篇文章主要介紹了 identity server4获取token和userInfo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

IdentityServer4(ids4)是用于ASP.NET Core的OpenID Connect和OAuth 2.0框架。在許多成熟的.net core框架中都完美的集成的該身份服務框架,用于提供單一的身份授權服務和簡單的配置。ids4十分適用于分布式和微服務系統的身份驗證,本篇就介紹一下ids4在微服務框架中如何獲取token和userInfo。

二、開始前

ids4提供的token默認JWT格式,.net core中也對JWT做了完美支持。這里不建議大家自己在項目中集成ids4框架,最好選擇abp、abp vNext框架或ids4 demo進行試驗。abp和abp vNext框架中都對ids4和JWT做了完美的集成。特別是abp vNext微服務框架,該框架不僅對ids4和ocelot等框架進行了集成,還將微服務的身份驗證進行了統一的授權,并做了單一的授權服務可對外提供open id。推薦abp框架的目的是可以免去學習.net core身份機制和IdentityServer4框架的痛苦,目前關于ids4的踩坑資料并不多,所以如果個人去集成ids4框架是存在不少風險的。

三、獲取token

ids4 提供的令牌端點:

POST /connect/token

    client_id=client1&
    client_secret=secret&
    grant_type=authorization_code&
    code=hdh922&
    redirect_uri=https://myapp.com/callback

上面只是獲取token的示例,實際開發中不會這樣配置。

我的示例使用的是abp vNext微服務中的授權服務,并沒有在.net core中單獨集成ids4 和JWT。示例中我會對client_id和grant_type做新的配置,方便大家實際體驗。

step1:添加client_id

ids4官方有提供Admin UI管理,但是價格昂貴就不考慮了。深度使用的話可以基于ids4提供的ef core程序集進行身份管理開發,abp vNext中似乎對ids4進行了身份管理開發,但是接口并未發布。如果只是簡單身份配置的話建議在abp vNext授權服務的種子文件中進行身份添加然后使用ef core還原到數據庫。不想去折騰abp vNext微服務框架,直接修改數據庫也是可以的。

step2:配置client_id發放token方式(ClientGrantType)

ids4提供的token發放方式有多種,web開發中使用password方式發放token。

step3:配置client加密(ClientSecret)

ids4基于client發放token,所以獲取token也需要提供client密碼。

以上配置均可以在abp vNext授權服務種子文件中進行添加。直接修改數據庫需要對ids4數據庫中的以下表進行先后修改:IdentityServerClients、IdentityServerClientGrantTypes、IdentityServerClientSecrets

step4:獲取token

啟動服務后使用postman獲取token參數如下:

token:

四、獲取userInfo

ids4提供了便捷的userInfo獲取方式,用于其他系統獲取用戶信息。

step1:配置openid

使用abp vNext授權服務ids4種子文件可以直接配置openid,直接修改數據庫需要在ids4數據庫的IdentityServerClientScopes表中進行配置。

step2:獲取userInfo

使用postman獲取userInfo參數如下:

userInfo:

userInfo輸出了用戶id和姓名,配置openid信息在IdentityServerIdentityClaims表中。

五、總結

identity server4獲取token和userInfo的方式介紹完了,強烈推薦使用abp框架研究配置和應用ids4,喜歡折騰的朋友也可以參考ids4官方demo。ids4框架十分強大復雜,筆者不推薦從頭學習,個人應該以學習如何配置和應用為主。后續我會介紹更多ids4的使用技巧和ids4在微服務中的應用,喜歡的朋友可以持續關注下。。。

總結

以上是生活随笔為你收集整理的identity server4获取token和userInfo的全部內容,希望文章能夠幫你解決所遇到的問題。

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