gpt4 book ai didi

asp.net - ASP.NET Core 中的 OAuth 授权服务

转载 作者:行者123 更新时间:2023-12-03 05:46:14 26 4
gpt4 key购买 nike

在 Web API 2 中,您过去可以通过中间件设置 OAuth 授权服务器来创建端点来颁发 token ,如下所示:

//Set up our auth server options.
var OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new SimpleAuthorizationServerProvider()
};

// Sets up the token issue endpoint using the options above
app.UseOAuthAuthorizationServer(OAuthServerOptions);

也许我错过了它,但我正在尝试弄清楚如何在 ASP.NET Core 中执行此操作。我已经浏览了源代码( https://github.com/aspnet/Security ),但我没有真正看到任何类似的东西。有没有新的方法可以实现这一点?我需要创建一个 Controller 并自己完成吗?

我了解了如何通过中间件设置 OAuth 身份验证,但这涉及我从 API 发出声明的授权部分。

最佳答案

编辑(01/28/2021):AspNet.Security.OpenIdConnect.Server 已合并到 OpenIddict作为 3.0 更新的一部分。要开始使用 OpenIddict,请访问 documentation.openiddict.com .

<小时/>

不要浪费时间在 ASP.NET Core 中寻找 OAuthAuthorizationServerMiddleware 替代方案,ASP.NET 团队只是决定不移植它:https://github.com/aspnet/Security/issues/83

我建议查看 AspNet.Security.OpenIdConnect.Server,它是 Katana 3 附带的 OAuth2 授权服务器中间件的高级分支:有一个 OWIN/Katana 3 版本和一个 ASP同时支持完整 .NET 框架和 .NET Core 的 .NET Core 版本。

https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server

ASP.NET Core 1.x:

app.UseOpenIdConnectServer(options =>
{
options.AllowInsecureHttp = true;
options.TokenEndpointPath = new PathString("/token");
options.AccessTokenLifetime = TimeSpan.FromDays(1);
options.TokenEndpointPath = "/token";
options.Provider = new SimpleAuthorizationServerProvider();
});

ASP.NET Core 2.x:

services.AddAuthentication().AddOpenIdConnectServer(options =>
{
options.AllowInsecureHttp = true;
options.TokenEndpointPath = new PathString("/token");
options.AccessTokenLifetime = TimeSpan.FromDays(1);
options.TokenEndpointPath = "/token";
options.Provider = new SimpleAuthorizationServerProvider();
});

要了解有关此项目的更多信息,我建议阅读 http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-introduction/ .

祝你好运!

关于asp.net - ASP.NET Core 中的 OAuth 授权服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com