В Oauth2, где находятся ресурсы, которыми владеет владелец ресурса? - PullRequest
0 голосов
/ 03 июля 2018

Я пытался понять о OAuth2 в моем вопросе здесь

Предположим, я использую свою учетную запись Facebook для входа на веб-сайт (скажем, переполнение стека) через OAuth2. Я понимаю, что являюсь "владельцем ресурсов", но какими ресурсами я владею в этом сценарии?

Мои вещи в Facebook или мои вещи в Stack Overflow?

Из этой статьи Oauth для чайников может показаться, что ресурсы находятся в Facebook, но из ответов на мой вопрос может показаться, что ресурсы находятся в переполнении стека.

Являются ли ресурсы такими же, как у областей?

[Update]

Глядя на обзор здесь

Я узнал, что

OpenID Connect 1.0 - это простой идентификационный слой поверх OAuth 2.0 протокол. Это позволяет клиентам проверять личность конечного пользователя на основе аутентификации, выполняемой сервером авторизации, как а также для получения основной информации профиля конечного пользователя в совместимый и REST-подобный способ.

Также

В протоколе OpenID Connect, абстрактно, выполняются следующие шаги.

  1. RP (клиент) отправляет запрос поставщику OpenID (OP).
  2. OP аутентифицирует Конечного пользователя и получает авторизацию.
  3. ОП отвечает токеном ID и обычно токеном доступа.
  4. RP может отправить запрос с токеном доступа к конечной точке UserInfo.
  5. Конечная точка UserInfo возвращает Заявления о Конечном Пользователе.

diagram

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

В приведенном выше сценарии вы как владелец ресурса авторизуете доступ через Stack Overflow как клиентское приложение к вашей учетной записи Facebook как собственный ресурс .

Доступ приложения к вашей учетной записи Facebook ограничен областью авторизованного доступа.

0 голосов
/ 03 июля 2018

Предположим, я использую свою учетную запись Facebook для входа на веб-сайт (скажем, Stack Переполнение) через OAuth2. Я понимаю, что я "владелец ресурса", но Какими ресурсами я владею в этом сценарии?

Во-первых, некоторые сайты, такие как SO, на самом деле используют OpenID Connect с авторизацией / аутентификацией, а не только OAuth2.0. (Потому что OAuth2.0 имеет некоторые ограничения со своими функциями. Особенно аутентификация.)

В этом случае сайт (SO) определенно является ресурсом. Однако веб-сайт, такой как переполнение стека, использует OpenID Connect , который основан на Oauth 2.0 для аутентификации / авторизации. И это для всех клиентов (2C, а не 2B). в этом случае учетная запись Facebook является социальной учетной записью в SO. Это необходимо настроить для обоих поставщиков удостоверений.

В OAuth, широко говоря, после регистрации SO вы можете получить доступ к SO, вы являетесь владельцем SO. Но, строго говоря, мы просто обычный пользователь SO, а не настоящий владелец этого сайта. Это зависит от внутренней логики этого приложения / веб-сайта. В OpenID Connect вы являетесь конечным пользователем.

Владелец ресурса - это всего лишь определение в OAuth2.0, мы можем понять его с помощью реальных сценариев. Это просто означает пользователей, которые могут получить доступ к ресурсу.

Мои вещи в Facebook или мои вещи в Stack Overflow?

Я предполагаю, что Мои вещи означают профиль пользователя. Это должно быть в переполнении стека. Как уже упоминалось выше, учетная запись Facebook является просто поставщиком социальной учетной записи для SO. Вы можете войти в SO с помощью социальных аккаунтов, но SO также должен создать для вас профиль пользователя и сохранить его в базе данных.

Для этого сценария речь должна идти об OpenID Connect. Я думаю, вы должны обратиться к этому протоколу в этой документации .

Дополнительно, Сценарий, подобный тому, который задан в вашем вопросе, должен быть B2C web app / api. Azure AD B2C - это функция, которая может реализовать этот сценарий и помочь вам понять протоколы OpenID connect.

Надеюсь, это поможет!


Обновление:

Обычно OP является источником профиля пользователя. Однако RP также должен получить профиль пользователя, а также создать некоторый профиль пользователя в своей собственной базе данных. Конечно, как сказал Крис, аккаунт в Фейсбуке широко известен как конечный пользователь и владелец ресурса.

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