Я создал консольное приложение, в котором размещен API-интерфейс REST и в настоящее время используется проверка подлинности NTLM.
Я могу запустить приложение с помощью curl с помощью: curl GET --verbose --ntlm -u {домен \ имя пользователя}: {пароль} '{url}'
Я встречал различные статьи о том, как реализовать аутентификацию на основе токенов, но ни одна из них не помогла мне интегрировать аутентификацию на основе токенов в мое консольное приложение.
Я не уверен, можно ли это сделать или нет. Если это возможно, пожалуйста, предоставьте мне шаги с файлами кода для добавления в приложение. (больше ссылок нет, пожалуйста).
Startup.cs
public class Startup
{
public void Configuration(Owin.IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
HttpListener listener = (HttpListener)appBuilder.Properties["System.Net.HttpListener"];
listener.AuthenticationSchemes = AuthenticationSchemes.Ntlm;
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
}
Program.cs
class Program
{
static void Main(string[] args)
{
string hostName = Environment.MachineName;
string baseAddressHostname = "http://"+hostName+":8090/";
StartOptions options = new StartOptions();
options.Urls.Add(baseAddressHostname);
WebApp.Start<Startup>(options);
Console.WriteLine("Server listening at :" + baseAddressHostname);
Console.ReadLine();
}
}