欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

IdentityServer4如何使用OpenIDConnect添加用戶身份驗(yàn)證

IdentityServer4如何使用OpenID Connect添加用戶身份驗(yàn)證,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到長(zhǎng)豐網(wǎng)站設(shè)計(jì)與長(zhǎng)豐網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋長(zhǎng)豐地區(qū)。

使用IdentityServer4 實(shí)現(xiàn)OpenID Connect服務(wù)端,添加用戶身份驗(yàn)證??蛻舳苏{(diào)用,實(shí)現(xiàn)授權(quán)。

IdentityServer4 目前已更新至1.0 版

本文環(huán)境:IdentityServer4 1.0  .NET Core 1.0.1

下面正式開(kāi)始。

新建IdentityServer4服務(wù)端

服務(wù)端也就是提供服務(wù),如QQ Weibo等。

新建一個(gè)ASP.NET Core Web Application 項(xiàng)目IdentityServer4OpenID,選擇模板Web 應(yīng)用程序 不進(jìn)行身份驗(yàn)證。

刪除模板創(chuàng)建的Controllers 文件以及Views 文件夾。

添加IdentityServer4 引用:

Install-Package IdentityServer4

然后添加配置類Config.cs:

public class Config

    {

        //定義系統(tǒng)中的資源

        public static IEnumerable<IdentityResource> GetIdentityResources()

        {

            return new List<IdentityResource>

            {

                new IdentityResources.OpenId(),

                new IdentityResources.Profile(),

            };

        }

        public static IEnumerable<Client> GetClients()

        {

            // 客戶端憑據(jù)

            return new List<Client>

            {

                // OpenID Connect implicit 客戶端 (MVC)

                new Client

                {

                    ClientId = "mvc",

                    ClientName = "MVC Client",

                    AllowedGrantTypes = GrantTypes.Implicit,

                    RedirectUris = { "http://localhost:5002/signin-oidc" },

                    PostLogoutRedirectUris = { "http://localhost:5002" },

                    //運(yùn)行訪問(wèn)的資源

                    AllowedScopes =

                    {

                        IdentityServerConstants.StandardScopes.OpenId,

                        IdentityServerConstants.StandardScopes.Profile

                    }

                }

            };

        }

        //測(cè)試用戶

        public static List<TestUser> GetUsers()

        {

            return new List<TestUser>

            {

                new TestUser

                {

                    SubjectId = "1",

                    Username = "admin",

                    Password = "123456",

                    Claims = new List<Claim>

                    {

                        new Claim("name", "admin"),

                        new Claim("website", "https://www.cnblogs.com/linezero")

                    }

                },

                new TestUser

                {

                    SubjectId = "2",

                    Username = "linezero",

                    Password = "123456",

                    Claims = new List<Claim>

                    {

                        new Claim("name", "linezero"),

                        new Claim("website", "https://github.com/linezero")

                    }

                }

            };

        }

    }

以上使用IdentityServer4測(cè)試數(shù)據(jù)類添加數(shù)據(jù),直接存在內(nèi)存中。IdentityServer4 是支持持久化。

然后打開(kāi)Startup.cs 加入如下:

public void ConfigureServices(IServiceCollection services)

        {

            // Add framework services.

            services.AddMvc();

            services.AddIdentityServer()

                .AddTemporarySigningCredential()

                .AddInMemoryIdentityResources(Config.GetIdentityResources())

                .AddInMemoryClients(Config.GetClients())

                .AddTestUsers(Config.GetUsers());

        }

       public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

        {

            ...

            app.UseIdentityServer();

            ...

接著安裝UI,UI部分也可以自己編寫(xiě),也就是登錄 注銷 允許和錯(cuò)誤。

可以到 https://github.com/IdentityServer/IdentityServer4.Quickstart.UI/tree/release 下載,然后解壓到項(xiàng)目目錄下。

也可以使用命令提示符快速安裝:

powershell iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/IdentityServer/IdentityServer4.Quickstart.UI/release/get.ps1'))

在項(xiàng)目目錄下打開(kāi)命令提示符,輸入以上命令。

更多信息,可以查看官方readme:https://github.com/IdentityServer/IdentityServer4.Quickstart.UI/blob/release/README.md

新建MVC客戶端

接著新建一個(gè)MVC客戶端,可以理解為你自己的應(yīng)用,需要使用第三方提供的服務(wù)。

新建一個(gè)ASP.NET Core Web Application 項(xiàng)目MvcClient,選擇模板Web 應(yīng)用程序 不進(jìn)行身份驗(yàn)證。

配置Url 綁定5002端口 UseUrls("http://localhost:5002")

然后添加引用:

Install-Package Microsoft.AspNetCore.Authentication.Cookies

Install-Package Microsoft.AspNetCore.Authentication.OpenIdConnect

本文最終所引用的為1.1 。

接著打開(kāi)Startup類,在Configure方法中添加如下代碼:

app.UseCookieAuthentication(new CookieAuthenticationOptions

            {

                AuthenticationScheme = "Cookies"

            });

            app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions

            {

                AuthenticationScheme = "oidc",

                SignInScheme = "Cookies",

                Authority = "http://localhost:5000",

                RequireHttpsMetadata = false,

                ClientId = "mvc",

                SaveTokens = true

            });

然后在HomeController 加上[Authorize] 特性,HomeController是VS2015 模板創(chuàng)建的,如沒(méi)有可以自行創(chuàng)建。

然后更改Home文件夾下的Index視圖如下:

<dl>

    @foreach (var claim in User.Claims)

    {

        <dt>@claim.Type</dt>

        <dd>@claim.Value</dd>

    }

</dl>

運(yùn)行

首先運(yùn)行服務(wù)端,定位到項(xiàng)目目錄下dotnet run,運(yùn)行起服務(wù)端以后,訪問(wèn)http://localhost:5000 ,確認(rèn)是否正常訪問(wèn)。

能正常訪問(wèn)接著運(yùn)行客戶端,同樣是dotnet run ,然后訪問(wèn)http://localhost:5002,會(huì)默認(rèn)跳轉(zhuǎn)至http://localhost:5000 ,這樣也就對(duì)了。

最終效果如下:

IdentityServer4如何使用OpenID Connect添加用戶身份驗(yàn)證

這里UI部分就是官方UI,我們也可以自行設(shè)計(jì)應(yīng)用到自己的系統(tǒng)中。登錄的用戶是配置的測(cè)試用戶,授權(quán)以后可以看到配置的Claims。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)名稱:IdentityServer4如何使用OpenIDConnect添加用戶身份驗(yàn)證
標(biāo)題URL:http://chinadenli.net/article0/gphjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃品牌網(wǎng)站制作、定制開(kāi)發(fā)、搜索引擎優(yōu)化網(wǎng)頁(yè)設(shè)計(jì)公司、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
久久这里只有精品中文字幕| 久久99这里只精品热在线| 欧美日韩中国性生活视频| 亚洲中文字幕在线视频频道| 日韩欧美在线看一卡一卡| 91欧美日韩中在线视频| 国产欧美日韩精品一区二| 亚洲中文字幕高清视频在线观看| 欧美成人黄色一区二区三区| 青青操日老女人的穴穴| 国产亚洲二区精品美女久久| 精品综合欧美一区二区三区| 国产成人免费激情视频| 精品国产丝袜一区二区| 亚洲国产黄色精品在线观看| 欧美中文日韩一区久久| 正在播放国产又粗又长| 国产精品欧美日韩中文字幕| 日韩欧美高清国内精品| av在线免费观看一区二区三区 | 色婷婷人妻av毛片一区二区三区| 色狠狠一区二区三区香蕉蜜桃| 四季av一区二区播放| 精品国产91亚洲一区二区三区| 日韩视频在线观看成人| 在线欧美精品二区三区| 国产永久免费高清在线精品| 国自产拍偷拍福利精品图片| 亚洲精品黄色片中文字幕| 中文字幕高清不卡一区| 中字幕一区二区三区久久蜜桃| 情一色一区二区三区四| 熟女白浆精品一区二区| 欧美日韩精品人妻二区三区| 麻豆视频传媒入口在线看| 国产精品伦一区二区三区四季| 国产欧美高清精品一区| 中文字幕五月婷婷免费| 一级片黄色一区二区三区| 婷婷开心五月亚洲综合| 欧美午夜一级艳片免费看|