Войти через Steam в ASP.NET MVC5

Недавно я играл с ASP.NET MVC5 и новым промежуточным программным обеспечением аутентификации OWIN. Я хочу, чтобы мои пользователи входили в систему со своей учетной записью Steam и паролем. После того, как пользователь успешно войдет в систему, мне просто нужен идентификатор учетной записи Steam для дальнейшей обработки. Steam может выступать в качестве поставщика OpenId, как указано в документации.

В MVC4 можно было бы реализовать пользовательский OpenIdClient. Мне кажется, что в MVC5 класс OpenIdClient был удален, а аутентификация настроена с использованием класса IAppBuilder, который предлагает методы входа в систему через Facebook, Google и других предопределенных провайдеров.

К сожалению, мне не удалось найти документацию о подключении пользовательского провайдера к новой системе аутентификации. Можете ли вы дать мне какие-либо инструкции или ссылки?


person Shackles    schedule 20.10.2013    source источник


Ответы (2)


Это ответ на награду, которую разместил @Buzinas.

Это решение будет использовать пакет NuGet Owin Security Providers, который доступен здесь .

Перейдите в консоль диспетчера пакетов (Tools -> Library Package Manager -> Package Manager Console) и установите указанный выше пакет:

Install-Package Owin.Security.Providers

В своем App_Start\Startup.Auth.cs добавьте правильный оператор using. Для Steam вы хотите

using Owin.Security.Providers.Steam;

Примечание: доступно несколько вариантов, поэтому этот пакет предназначен не только для Steam. Owin.Security.Providers

В методе ConfigureAuth добавьте app.UseSteamAuthentication("<<API KEY>>");

<<API_KEY>> следует заменить ключом API, который вы получили от Valve.

person Andy♦    schedule 13.05.2014
comment
Круто, этого точно не было, когда я задавал вопрос в прошлом году. Приятно видеть, что за это время было добавлено несколько провайдеров. Я отмечу это как ответ. - person Shackles; 15.05.2014

Документы все еще немного скудны. Один из вариантов — скопировать и вставить аналогичный существующий провайдер и адаптировать его по мере необходимости.

Рекомендуемый способ реализации пользовательского поставщика аутентификации для аутентификации owin

https://katanaproject.codeplex.com/SourceControl/latest

person Tratcher    schedule 21.10.2013