Как мне структурировать аутентификацию с помощью социального IdP? - PullRequest
0 голосов
/ 14 ноября 2018

Моя система работает следующим образом;

У меня есть сервер ASP.Net RESTful API, который содержит базу данных пользователей. У меня также есть приложение Xamarin.Forms со страницей регистрации и входа в систему.

Я хочу иметь возможность аутентифицировать логин с использованием социального IdP, а затем, если этот пользователь ранее не входил в систему, зарегистрировать этого пользователя в моей локальной базе данных.

Я читал о том, как реализовать OAuth 2.0 с OpenID Connect для аутентификации моих пользователей с помощью социального IdP, однако я не могу обернуть голову вокруг него. Из того, что я прочитал, я не должен использовать токен доступа для аутентификации, так как для этого и нужен токен ID, однако я также прочитал, что единственная цель, для которой предназначен токен ID, - это клиент.

Моя проблема в том, как я могу убедиться, что звонки на мой сервер ASP.Net были сделаны "реальным человеком", и как мне определить, кто звонит?

1 Ответ

0 голосов
/ 14 ноября 2018

Токен доступа будет использоваться для определения того, было ли клиентское приложение авторизовано пользователем для доступа к ресурсу.Концепция идентификатора токена происходит от OpenID Connect.Основная цель идентификатора токена состоит в том, чтобы аутентифицировать пользователя в клиентском приложении (т.е. сообщить клиентскому приложению, что лицо, разрешившее доступ, является действительным лицом).

Для этого вам необходимо подтвердить идентификационный токен.Это можно сделать с помощью сторонних библиотек, таких как nimbusds или auth0.Вы можете проверить подпись токена, проверить целостность токена и проверить утверждения, включенные в токен (сравнивая их с ожидаемыми значениями), чтобы проверить данные пользователя.Кроме того, вы можете добавить пользовательские утверждения (любые утверждения, специфичные для вашего приложения / реализации) к токенам через поставщика удостоверений, чтобы вы могли проверять эти конкретные утверждения для проверки пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...