У меня есть служба ASP.NET REST API, и она работает довольно быстро и точно, за исключением авторизации, я использую стандартный токен auth на основе Owin.Security, вот что это выглядит следующим образом:ASP.NET авторизация на основе токенов слишком длинна
public void ConfigureAuth(IAppBuilder app)
{
// Configure the db context and user manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
// Enable the application to use a cookie to store information for the signed in user
// and to use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
// Configure the application for OAuth based flow
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(10),
AllowInsecureHttp = true,
};
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
}
Я ничего не изменится, то из шаблона проекта, и он работает отлично, за исключением времени. Потребовалось около 30 секунд, чтобы вернуть токен-носитель с сервера. Я довольно новичок в разработке ASP.NET, и я понятия не имею, почему так долго, у меня 10 пользователей и 3 роли в моей базе данных, и я уверен, что он может работать быстрее, но не знаю, как
другой запрос остальное (POST, GET) работает быстро и хорошо, это занимает 30 секунд только для/запроса токена
хорошо, я переиздал свое серверное решение, и теперь он принимает случайным образом от 3 до 30 секунд получить токен аутентификации, это довольно странное поведение, не так ли?
Можете ли вы посмотреть трассировку скрипача, чтобы увидеть запрос, для которого Url (s) занимает 30 секунд или если это распределено между различными запросами? – ezile
@ezile nono, это просто для запроса токена myazuresite.com/Token Другие работы быстро и качественно –
@ Greag.Deay Одиночная проблема, аутентификация заняла более 5 секунд для входа. Вы нашли какой-либо способ решить эту проблему ? –