Сервер идентификации 4 Social Войти для SPA

Обновить

December 2018

Просмотры

1.6k раз

4

Я работаю над приложением с помощью Web API ( asp.net ядро ) и SPA ( реагируют-шаблонный ). Я начал работу в пользовательской регистрации / авторизации и один из требований , чтобы позволить пользователю войти в facebook, Google и т.д.

Я смотрел на сервер идентичности 4 в течение нескольких недель, и, честно говоря, он чувствует, как массовое убийство. Но я готов реализовать. Он имеет яваскрипт образца клиента, но клиент не использует внешний поставщик. Так что мне интересно, если кто-нибудь делал это раньше? Я не специалист по OAuth, но я предполагаю, что я должен перенаправить мой пользователь для проверки подлинности в службе маркеров, когда-то он может использовать все, что он предпочитает, чтобы проверить подлинность, а затем перенаправить на мой SPA с жетоном на URL ?? но я не нашел примеров о том, как это сделать.

Другой подход, который я смотрел имел простую авторизацию JWT на веб-API и осуществлять социальный логин с JavaScript-SDKs внешних провайдеров затем проверить свои маркеры, хранить их на моем Db в качестве нового пользователя и создания маркера JWT мой собственный.

1) Какой подход вы бы порекомендовали?
2) Есть ли пример идентичность Server 4 с яваскриптом клиентом с использованием внешних провайдеров для аутентификации?

1 ответы

5

Кажется, что ваше понимание внешнего входа в систему не является правильным. Вы должны иметь 3 приложения: Web API, SPA и IdentityServer. Поставщики идентичности как FB и Google должны быть установлены в IdentityServer, а не в клиенте Javascript.

Я предлагаю вам взглянуть на Quickstart 7: https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/7_JavaScriptClient/src . Клиент Javascript использует клиент IdentityModel , который будет обрабатывать маркеры переадресации / экономии для вас.