[]║戦闘Ids4が闊歩して認証局の試運転

途中、自分の世話をするために家よ〜オン

みなさん、こんにちは、チャン氏は、自宅、2つの論文を書くためのアイドルでは何も成功した友人が、実際には、ばち状を取ってきた質問のすべてのグループ友達の書き込み内容は、私が悩みを持って、私はグループ内で直接簡単なアイデアを提供し、尋ねましたまた、レコード内の彼の役割を、それを説明するために記事を書く、そして、デバッグ認定センターにリソースサーバが闊歩によって認可方法については、今日の簡潔。これは適切な治療について行われなければならないので、私たちはよくを使用している前に、JWTベアラー認定するので、この団結は、Ids4を交換しています。

1

いくつかのプロジェクトは、移行が完了している場合は      

Idpの正式なオープンソースプロジェクトは、その時点で私は単に非常にシンプルな感じ、ids4を使用する方法を学びました、6月は昨年、で、その後、過去のすべてのプロジェクトを移行するレトリックの野心は、それらを戦うために期待していなかった、とではないので、シンプルは、春祭りは、すべての設定幸いにも前に、今、停止状態のままで、その結果、記事はChristDDDプロジェクト、最後に残ったNuxt移行プロジェクト、その結論は、以下のすべてのプロジェクトが完了していることを述べていますIds4作業への移行:

私はあなたの記事を読んでいる場合、いずれかのAPIから、それはVUEから、またはnetcoreにあるかどうか、私の努力があり、このセットを試すことができ、自分の手に対応するこれらのプロジェクトの意味を知ることができるはずと信じていますまたはMVCに、それはまだSPAからのレンダリングである、またはあなたの会社やビジネスで使用したい、または6つの整流のこのセットは私のプロジェクトに基づいている場合、SSRをレンダリングし、最終的には最後に来ているかどうか、あなたはセールで私を見つけることができ、古い鉄のように:

(プライバシーを考慮すると、我々はインサイダー情報を提供することはありません)

さて最後の質問を残して、あるAPIプロジェクトは、来て、どのように闊歩でFBIので、私は常に直接オープンVUEプロジェクトの前に、トラブルをBlogCoreとIdpのプロジェクトをオープンしました!その後、我々は単に闊歩、アクセスIdentityServer4の設定方法についてお話します。

2

闊歩はアクセスIds4に配置されました   

これはNetCore3.1文言であることに注意してください:

 // Jwt Bearer 认证,必须是 oauth2,这里注释掉
 //c.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
 //{
 //    Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入Bearer {token}(注意两者之间是一个空格)\"",
 //    Name = "Authorization",//jwt默认的参数名称
 //    In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)
 //    Type = SecuritySchemeType.ApiKey
 //});




 // 接入identityserver4
 c.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
 {
     Type = SecuritySchemeType.OAuth2,
     Flows = new OpenApiOAuthFlows
     {
         // 因为是 api 项目,那肯定是前后端分离的,所以用的是Implicit模式
         Implicit = new OpenApiOAuthFlow
         {
             // 这里配置 identityServer 项目的域名
             AuthorizationUrl = new Uri($"https:ids.neters.club/connect/authorize"),
             // 这里配置是 scope 作用域,
             // 只需要填写 api资源 的id即可,
             // 不需要把 身份资源 的内容写上,比如openid 
             Scopes = new Dictionary<string, string> {
                 {
                     "blog.core.api","ApiResource id"
                 }
             }
         }
     }
 });




ここでは、設定された後、プロジェクトを実行するには、効果を見ることができます:

私たちは、OAuth2.0契約、暗黙の認証モードを使用して、見ることができ、

CLIENT_ID、私たちのクライアントID、およびids4は試合を設定するために、我々は、以下について説明します。

地址是ids.neters.club,Scopes 是我们定义的 blog.core.api,

这两个都要和认证服务匹配,具体是哪里呢,就是我们开启认证服务的地方:

我这里把授权地址URL,给写到了配置文件里,因为有时候我们的ids4项目可能会变化,

其实这里我们的apiName也可以配置到appsettings.json文件夹中。

注意,scope不需要填写其他的,不然会报错,只需要把 client_id 写上即可:

接下来,我们就需要配置Ids4项目了。

 3

 Ids4项目配置回调地址 

这里其实就很简单的,如果我们不对回调地址做相应的增加的话,会提示无效的错误:

这里就很简单了:

// blog.admin 前端vue项目
new Client {
    ClientId = "blogadminjs",
    ClientName = "Blog.Admin JavaScript Client",
    AllowedGrantTypes = GrantTypes.Implicit,
    AllowAccessTokensViaBrowser = true,


    // 回调地址uri集合,可以写多个
    RedirectUris =
    {
        "http://vueadmin.neters.club/callback",
        "http://apk.neters.club/oauth2-redirect.html",        
        "http://localhost:8081/oauth2-redirect.html",
    },
    PostLogoutRedirectUris = { "http://vueadmin.neters.club" },
    AllowedCorsOrigins =     { "http://vueadmin.neters.club" },


    AllowedScopes = {
        IdentityServerConstants.StandardScopes.OpenId,
        IdentityServerConstants.StandardScopes.Profile,
        "roles",
        // 上边的这三个 scope ,可以不用配置到swagger中
        "blog.core.api"// 这个资源api的name,要一致
    }
},


这里我要强调一点,不是说每次我们都要修改这个Config.cs这个类,这是初始化的,我一般都是直接修改的数据表数据就行,常见的三个配置表就是:

到了这里,我们一般就是修改完成了,可以测试一下,来个动图:

是不是很简单!不用再打开前端vue来测试了,是不是很方便。

IdentityServer4 项目还是挺好的,无论是企业里,还是个人使用,都是比较好的方案,除非你所在公司有一套自己的项目。

打完收工,下一篇,我们就简单来说说,如何做单点登录了。

发布了1535 篇原创文章 · 获赞 586 · 访问量 237万+

おすすめ

転載: blog.csdn.net/sD7O95O/article/details/104079140