owin oauth webapi с динамичен TokenEndpointPath (заявка например)

Позовавам се на публикацията на Дейвид Снип в https://stackoverflow.com/a/29706891/4609861, за да попитам любезно малко пример за неговото обяснение; Имам проблеми с извикването на делегат OnMatchEndpoint и MatchesTokenEndpoint. Мерси


person MarcMart    schedule 30.06.2015    source източник


Отговори (1)


Можете да посочите делегатите на самите Опции във вашия Startup.cs код. Нещо в този смисъл:

OAuthAuthorizationServerOptions options = new OAuthAuthorizationServerOptions()
{
      provider = new OAuthAuthorizationServerProvider()
      {
        OnMatchEndpoint = (context =>
                                  { // do your stuff
                                   context.MatchesAuthorizationEndpoint();
                                   return Task.FromResult<object>(0);
                                   });
      }
 }
person ezile    schedule 30.06.2015
comment
съжалявам, но не мога да изляза... PublicClientId = себе си; OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString(/v1/Token), Provider = new ApplicationOAuthProvider(PublicClientId) { OnMatchEndpoint = ( context =› { // my code context.MatchesAuthorizationEndpoint(); }) }, AccessTokenExpireTimeSpan = TimeSpan.FromDays (14), AllowInsecureHttp = true } - person MarcMart; 01.07.2015
comment
under: context =› { i get Не всички кодови пътища връщат стойност в ламбда израз от тип 'System.Func‹Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext,System.Threading.Tasks.Task›' - person MarcMart; 01.07.2015
comment
под: MatchesAuthorizationEndpoint() Получавам „Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext“ не съдържа дефиниция за „MatchesAuthorizationEndpoint“ и няма метод за разширение „MatchesAuthorizationEndpoint“, приемащ първи аргумент от тип „Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext ' може да бъде намерен (липсва ли ви директива за използване или препратка към асемблиране?) - person MarcMart; 01.07.2015
comment
ApplicationOAuthProvider потребителски клас ли е? Грешката в контекста трябва да изчезне с израза за връщане, който добавих. - person ezile; 02.07.2015
comment
да, наследено е от OAuthAuthorizationServerProvider и замества: GrantResourceOwnerCredentials TokenEndpoint ValidateClientAuthentication и ValidateClientRedirectUri - person MarcMart; 05.07.2015
comment
Добавянето върна ли Task.FromResult‹object›(0); поправи грешката в контекста? Не разбирам защо ще даде Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext" не съдържа дефиниция за грешка "MatchesAuthorizationEndpoint". Свойството съществува в Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext. Можете ли да копирате пълния си .cs файл тук - person ezile; 06.07.2015
comment
Промених MatchesAuthorizationEndpoint() на MatchesAuthorizeEndpoint() и проработи. - person Jonathan Amend; 03.04.2017