using IdentityModel; using IdentityModel.Jwk; using IdentityModel.Client; using IdentityModel.Internal; namespace Id4Study.Test { public class Id4BaseTest { [Fact] public async Task Test1Async() { var client = new HttpClient(); DiscoveryDocumentRequest discoveryDocumentRequest = new DiscoveryDocumentRequest() { Policy = new DiscoveryPolicy() { RequireHttps = false}, Address = "http://192.168.20.46:8017/", }; //发现文档 var disco = await client.GetDiscoveryDocumentAsync(discoveryDocumentRequest, CancellationToken.None); Assert.False(disco.IsError); // 请求令牌 var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest { Address = disco.TokenEndpoint, ClientId = "WebAPI_OA_Server", ClientSecret = "webapi-oa-Puweiidc2022", Scope = "EDS.Editor.WebAPI.Plan EDS.Editor.WebAPI.Scene EDS.Editor.WebAPI.Member EDS.Editor.WebAPI.Common EDS.Editor.WebAPI.Resource EDS.Editor.WebAPI.Exam" }); Assert.False(tokenResponse.IsError); //访问WebAPI //tokenResponse.AccessToken; client.SetBearerToken(tokenResponse?.AccessToken ?? ""); HttpResponseMessage? res = await client.GetAsync("http://192.168.20.46:8016/api.exam/v1.0.0.0/Paper/GetPaperListByPage?companyId=1051&orgId=198¤tPageIndex=1&pageSize=50"); Assert.True(res.IsSuccessStatusCode); var content = await res.Content.ReadAsStringAsync(); } } }