.net core 从.NET Core中的身份提供程序获取访问令牌?
我正在我的公司建立OAuth 2和OIDC 我曾经处理从javascript客户机获取对受OAuth 2和OIDC保护的API的调用的访问令牌 现在,当客户端是调用受OAuth 2和OIDC保护的API的C#.NET核心应用程序时,我需要获取访问令牌 我可以试着自己编写代码。但是有很多,我担心我会弄错一些。因此,这个问题: NET Core是否包含从身份提供商处获取访问令牌的库? 说清楚,我不是在寻找用OAuth2和OIDC保护ASP.NET服务的代码。这段代码非常常见,很容易找到。(事实上很容易找到我要找的东西很难。)我使用发出请求的.Net核心项目。它支持我认为的所有主要流程,并基于认证/标准 我的一些代码使用它的类来演示语法的类型.net core 从.NET Core中的身份提供程序获取访问令牌?,.net-core,oauth-2.0,access-token,openid-connect,idp,.net Core,Oauth 2.0,Access Token,Openid Connect,Idp,我正在我的公司建立OAuth 2和OIDC 我曾经处理从javascript客户机获取对受OAuth 2和OIDC保护的API的调用的访问令牌 现在,当客户端是调用受OAuth 2和OIDC保护的API的C#.NET核心应用程序时,我需要获取访问令牌 我可以试着自己编写代码。但是有很多,我担心我会弄错一些。因此,这个问题: NET Core是否包含从身份提供商处获取访问令牌的库? 说清楚,我不是在寻找用OAuth2和OIDC保护ASP.NET服务的代码。这段代码非常常见,很容易找到。(事实上很容
如果您正在编写一个用户登录的非浏览器应用程序,那么这很棘手,而且往往涉及调用系统浏览器。上面的库有。简短的回答是有。如果我理解你的问题 查看IdentityServer4上的文档,因为它给出了从asp.net core访问OAuth2令牌服务的示例,它应该转换为您正在使用的任何令牌服务器 但实际上,您要设置用于请求的http客户端: 其中:Client是HttpClient的实例
DiscoveryDocumentResponse disco = await
Client.GetDiscoveryDocumentAsync("https://your_token_server/");
var tokenResponse = await Client.RequestClientCredentialsTokenAsync(new
ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "Some_Client_Id",
ClientSecret = "Some_Client_Secret",
Scope = "Some_Api_Scope"
});
Client.SetBearerToken(tokenResponse.AccessToken);
api也需要设置,但我建议的文档中有很多示例