2015-05-26 6 views
-1

У меня есть следующие методы: OAuth, SAML, OpenID Connect, XACML, Shibboleth.авторизация веб-запросов API

Работают ли они для авторизации клиента в веб-API? На практике, какой из них лучше?

Все ли они поддерживают JSON?

ответ

3

Это разные стандарты с различными целями.

  • OAuth о делегировании полномочий, например. Я предоставляю Twitter право публиковать в своей учетной записи Facebook. Посмотрите на UMA (управляемый пользователями доступ) в дополнение к OAuth.
  • OpenID Connect (OIDC) - это уровень аутентификации поверх OAuth 2.0, рамки авторизации. Он объединяет OAuth и OpenID.
  • XACML - это стандарт контроля доступа/авторизации на основе атрибутов и политик. Речь идет об определении политик контроля доступа, которые регулируют доступ к ресурсам.
  • Shibboleth является/является протоколом федерации на основе SAML.
  • SAML является стандартом де-факто для федерации удостоверений личности на нескольких предприятиях.

OAuth, OpenID Connect, SAML и Shibboleth фокусируются на идентификации пользователей, аутентификации и федерации.

XACML имеет исключительно контроль доступа/авторизацию и может использоваться в сочетании с любыми другими стандартами.

Поддерживает ли какой-либо из этих стандартов JSON неопределенный вопрос. Зачем? SAML, AFAIK, как правило, кодируется XML, но сам стандарт не касается его кодирования. XACML обычно использует XML для своих политик, но поток управления доступом может быть выражен как JSON. В OpenID можно использовать JWT, JSON Web Token.

JSON Web Token (JWT) - это средство представления претензий между двумя сторонами. Претензии в JWT кодируются как объект JSON, который с цифровой подписью с использованием JSON веб-Signature (JWS) и/или зашифрован с использованием JSON Web Encryption (JWE)

Есть 2 сайтов вы можете посмотреть в, чтобы узнать больше:

+0

Спасибо, Дэвид за хороший комментарий и очень полезно. – algisy123