第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

IdentityServer在Core環(huán)境下搭建服務器怎么讓依賴framework環(huán)境下

IdentityServer在Core環(huán)境下搭建服務器怎么讓依賴framework環(huán)境下

慕田峪4524236 2018-08-14 10:09:54
如題,,,希望得到關于framwork環(huán)境下,OIDC的接入指導,真心求教。現(xiàn)階段場景:使用IdentityServer4在CORE服務器下搭建了服務端,現(xiàn)有.net環(huán)境下老的站點需要接入授權中心的單點登錄【OIDC】,請問客戶端沒有AddOpenIdConnect方法配置的前提下這邊應該怎樣接入授權服務中心
查看完整描述

2 回答

?
qq_我的夢想_4

TA貢獻1條經(jīng)驗 獲得超0個贊

我也遇到這樣的問題了,在線等答案

查看完整回答
反對 回復 2020-05-22
?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

Idsv4是不關心客戶端是誰的,我有一些想法,不知道是不是你需要的。
首先在CoreIdentityServer4上自定義登錄地址。

services.AddIdentityServer(options =>
            {                   // 忽略
                options.UserInteraction.LoginUrl = Configuration["ApplicationDTO:LoginUrl"]; // 假設是/users/signIn
                options.UserInteraction.LogoutUrl = Configuration["ApplicationDTO:LogoutUrl"]; /
            })

新建一個UsersControllers.添加signInAction.

[HttpGet]
        [Authorize(AuthenticationSchemes = CookieAuthenticationDefaults.AuthenticationScheme)]        public async Task<IActionResult> SignIn(string returnUrl)        {            //通過驗證后即清除cookies
            await HttpContext.SignOutAsync("Cookies");            #region Issued Cookie

            List<Claim> source = new List<Claim>()
            {                new Claim("sub",new Guid().ToString()),                new Claim("name",User.Identity.Name),                new Claim("idp", "xxxxx"),                new Claim("role","Custom"),                new Claim("auth_time", DateTimeOffset.Now.ToEpochTime().ToString(),"http://www.w3.org/2001/XMLSchema#integer")
            };
            source.Add(new Claim("amr", "authorization_code"));            var identity = new ClaimsIdentity(source.Distinct<Claim>((IEqualityComparer<Claim>)new ClaimComparer()), "IdentityServer4", "name", "role");            var claimsPrincipal = new ClaimsPrincipal(identity);            await HttpContext.SignInAsync(IdentityServerConstants.DefaultCookieAuthenticationScheme, claimsPrincipal, new AuthenticationProperties
            {
                IsPersistent = true,
                ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromMinutes(43200))
            });            #endregion
            return Redirect(returnUrl);
        }

Authorize需要您在startup自己定義登錄地址。
那么流程就是如下這樣的
1.在瀏覽器訪問idsv4服務端https://Coreidsv4/connect/authorize?......,會跳轉(zhuǎn)到/users/login通過Authorize驗證用戶是否登錄,如果未登錄就通過Authorization配置的登錄地址去登錄。登錄成功重定向回來??梢栽?code>users/login中填寫自己要信息。繼續(xù)下去,通過url獲取授權碼 code。然后再去拿code去換取token.注意參數(shù)填寫正確。


查看完整回答
反對 回復 2018-09-06
  • 2 回答
  • 0 關注
  • 856 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號