Я играю с Оуэном.Я использую сообщество VS 2017 и отлаживаю с IIS Express.Я добавил файл запуска Owin в свой проект.Я поместил некоторый код и протестировал свой собственный AuthServerProvider, который я сделал, однако, когда я попытался получить доступ к токену / /, чтобы получить токен, я получил метод, который не был разрешен.Я пришел к выводу, что мой метод запуска из Оуэна не вызывался.
Изучив миллион проблем и способов их решения (серьезно, это безумие), я не знаю, что именно это исправило, но яу меня был класс Owin в папке, которая добавила пространство имен, и поэтому я переместил его, но теперь кажется, что это не имело значения, потому что я использую метод [assembly: OwinStartup (typeof (myApp.Startup))]], чтобы сказать, что он запускается.
Тогда я слышу, что вы не можете войти, поэтому я добавляю новое исключение («Тест») и некоторый код, который пишет ответ.Единственное, что я замечаю, это то, что если я запускаю свое приложение, у меня появляется сайт, который не запускается при запуске Owin.Однако, если я обновлю свою страницу с помощью ctrl-F5, она попадет во все, что у меня есть при запуске Owin.
Я пытаюсь выполнить запрос / токен в Postman после обновления страницы в chrome (не уверен, что это сработает)но это все еще дает мне метод, который не разрешен, но они, вероятно, никак не связаны.
Мне кажется, мне нужно выяснить, почему мне нужно обновить страницу в Chrome после ее запуска, чтобы запустить запуск Owin.ударить, и я предполагаю, что это та же самая причина, по которой Postman не работает, потому что этот запрос касается какой-то работающей версии, которая еще не запустила Owin, поэтому мои материалы не зарегистрированы.
Есть какая-то известная проблемас IIS Express и запуском Оуэна не работает?Я должен отметить, что мой Почтальон является расширением Chrome, поэтому оно должно быть каким-то образом связано.
Страница, которую я получаю, когда отправляю сообщение на этот токен:
Ошибка HTTP 405.0 - МетодНе разрешено Страница, которую вы ищете, не может быть отображена, потому что используется недопустимый метод (HTTP-глагол).
Я следую этому уроку, и это именно то, что он делает: https://youtu.be/rMA69bVv0U8?t=2467
[EDIT] Я скачал настольное приложение для Почтальона.Когда у меня есть код для написания ответа, я вижу этот ответ в Postman, когда запускаю токен /, который я установил в OAuthAuthorizationServerOptions TokenEndpointPath.
Ниже приведен класс запуска моего Оуэна
public class Startup
{
public void Configuration(IAppBuilder app)
{
//throw new Exception("Test");
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
// to enable cross origin requests (not sure if we need this)
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
var provider = new AuthServerProvider();
OAuthAuthorizationServerOptions options = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true, // todo: when in prod make this false so it has to be https
TokenEndpointPath = new PathString("/token"), // path of where user will get the token when provided credentials
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), // valid for 1 day
Provider = provider
};
app.UseOAuthAuthorizationServer(options);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
HttpConfiguration config = new HttpConfiguration();
WebApiConfig.Register(config);
app.Use((context, next) =>
{
TextWriter output = context.Get<TextWriter>("host.TraceOutput");
return next().ContinueWith(result =>
{
output.WriteLine("Scheme {0} : Method {1} : Path {2} : MS {3}",
context.Request.Scheme, context.Request.Method, context.Request.Path, getTime());
});
});
app.Run(async context =>
{
await context.Response.WriteAsync(getTime() + " My First OWIN App");
});
}
string getTime()
{
return DateTime.Now.Millisecond.ToString();
}
}