ASP.NET Core의 OAuth 권한 부여 서비스
Web API 2에서는 아래와 같은 미들웨어를 통해 OAuth Authorization Server를 설정하여 토큰을 발급하는 엔드포인트를 만들 수 있었습니다.
//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) )를 살펴봤지만 유사한 내용은 보이지 않습니다.이것을 달성할 새로운 방법이 있습니까?컨트롤러를 생성하여 직접 수행하면 됩니까?
미들웨어를 통해 OAuth Auth Auth 인증을 설정하는 방법은 알고 있지만, 이는 API에서 클레임을 발행하는 인증 부분과 관련이 있습니다.
편집(01/28/2021):AsNet.보안.OpenIdConnect.서버가 3.0 업데이트의 일부로 OpenIddict에 병합되었습니다.OpenIdict를 시작하려면 documentation.openiddict.com 을 방문하십시오.
당신의 시간을 낭비하지 마세요.OAuthAuthorizationServerMiddleware
ASP.NET Core를 대체하기 위해 ASP.NET 팀은 단순히 이식하지 않기로 결정했습니다. https://github.com/aspnet/Security/issues/83
저는 AspNet을 보는 것을 제안합니다.보안.OpenIdConnect.Katana 3과 함께 제공되는 OAuth2 권한 부여 서버 미들웨어의 고급 포크인 Server: OWIN/Katana 3 버전과 전체 .NET 프레임워크와 .NET Core를 모두 지원하는 ASP.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 5에서 원본 OAuth Auth Authorization Server를 여전히 찾고 있는 사람을 위해 코드와 원본 샘플을 여기에 포팅했습니다. https://github.com/XacronDevelopment/oauth-aspnet
포트에는 ASP.NET 4.x 리소스 서버가 권한 부여 서버에서 생성한 액세스 토큰을 읽을 수 있도록 이전 버전과의 호환성이 포함되어 있습니다.
너겟 패키지는 다음과 같습니다. https://www.nuget.org/packages/OAuth.AspNet.AuthServer https://www.nuget.org/packages/OAuth.AspNet.Tokens https://www.nuget.org/packages/OAuth.Owin.Tokens
언급URL : https://stackoverflow.com/questions/29055477/oauth-authorization-service-in-asp-net-core
'programing' 카테고리의 다른 글
'Gravity Forms' 입력 버튼을 클릭할 때 jquery를 트리거합니다. (0) | 2023.06.25 |
---|---|
Nux.js Vuex 모듈이 예상대로 작동하지 않음 (0) | 2023.06.25 |
'빌드 입력 파일을 찾을 수 없습니다.' Swift 4.2, Xcode 10.0 (0) | 2023.06.25 |
숫자가 긴 엑셀 열을 csv로 저장하는 방법은? (0) | 2023.06.25 |
SQL Server Express(2012)와 LocalDB 사이에 차이점이 있습니까? (0) | 2023.06.25 |