2015-06-28 4 views
0

Я пытаюсь внедрить интеграцию Steam OpenID в сайт ASP5/MVC6. Существующие библиотеки OpenID не работают с ASP5, поскольку они, похоже, полагаются на HttpContext, которого не существует.Реализация OpenID в ASP5

Это совместимо только библиотека, что я могу найти:

"Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-beta4", 

Я настроил его в Startup.ConfigureServices так:

public void ConfigureServices(IServiceCollection services) 
    { 
     .. 
     services.ConfigureOpenIdConnectAuthentication(options => 
     { 
      options.Authority = "http://steamcommunity.com/openid"; 
      options.ClientId = "[ClientIDHere]"; 
     }); 
    } 

и Startup.Configure:

app.UseOpenIdConnectAuthentication(); 

Мой настоящий вопрос простой, как я на самом деле использовать Эта библиотека в моем приложении для создания запросов OpenID? Документации, по-видимому, не существует в этой библиотеке (типично для бета-версии, конечно), а примеров мало.

ответ

1

Обновление: поставщик аутентификации Steam для ASP.NET 5 теперь подключен к сети. Вы можете посетить https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers для получения дополнительной информации.


К сожалению, пара зависит от OpenID 2.0, который не является (и не будет) поддерживается ASP.NET 5. Нативно, только OAuth2 и OpenID Connect (на основе OAuth2, а не на OpenID 2.0) поддерживаются промежуточного слоя аутентификации по умолчанию поставляется с ASP.NET 5.

Я думаю, вы были ранее с помощью поставщика паровой для Owin/Катана, который был разработан сообществом: https://github.com/RockstarLabs/OwinOAuthProviders/tree/master/Owin.Security.Providers/Steam Большинство из этих провайдеров - на основе OAuth2 - будет портирован как часть проекта aspnet-contrib: https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers.

Портирование поставщиков OpenID 2.0 не в ближайших планах, но вы можете открыть новый поток на https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers/issues и проголосовать за поставщика Stream.

+0

FYI, поставщик Steam скоро будет объединен: https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers/issues/1 – Pinpoint

+0

Ответьте на свое обновление, используя 'https: // github. ком/САШ-вно/AspNet.Security.OpenId.Providers'. Я добавил 'app.UseSteamAuthentication()' to 'Configure()', но такого расширения не существует. Я установил 'AspNet.Security.OpenIdConnect.Server + Extension'. Что мне не хватает? Я также добавил 'using AspNet.Security.OpenIdConnect.Extensions;' – DoubleVoid

+1

У провайдера SteamID SteamID есть свой собственный пакет: https://www.nuget.org/packages/AspNet.Security.OpenId.Steam/ (обратите внимание, что он имеет не имеет ничего общего с промежуточным ПО сервера OpenID Connect и с OpenID Connect вообще) – Pinpoint

Смежные вопросы