В чем разница между openid, oauth1.0, oauth1.0a, oauth2.0 и open id connect?

Скажите, пожалуйста, в чем разница между этими сторонними аутентификациями, т.е. open id, o-auth1.0, o-auth1.0a, o-auth2.0 и open id connect. Ну, я гуглил об этом, но не смог найти точную разницу между всем этим. Я все время различал o-auth и open id, но не все вместе.

Любая ссылка или любое объяснение будут оценены. Заранее спасибо.


person Pragya    schedule 01.09.2014    source источник


Ответы (1)


Прежде всего, обратите внимание на разницу между аутентификацией и авторизацией: не все протоколы в вашем вопросе действительно выполняют аутентификацию.

Во время аутентификации вы подтверждаете свою личность кому-то другому (например, показываете водительские права), см. OpenId.

Во время авторизации вы даете права доступа другому лицу для использования защищенного ресурса (например, даете ключи от машины), возможно, не раскрывая свою личность, см. OAuth. OAuth 1.0 работает, но распространенная жалоба заключается в том, что и сервер, и клиент должны выполнять много криптографии, поэтому он не является легким на стороне клиента и не поддерживает встроенные клиенты (например, javascript). OAuth 1.0a устранил проблему безопасности, но он устарел, исправление было включено в исходную спецификацию (RFC 5849). OAuth 2.0 поддерживает как удаленные веб-приложения, так и встроенные/javascript-клиенты, что позволяет значительно упростить реализацию клиентского приложения.

OpenId Connect объединяет OpenId и OAuth (таким образом, обеспечивая как аутентификацию, так и авторизацию) в качестве небольшого расширения протокола OAuth 2.0.

person Zólyomi István    schedule 02.09.2014