14
By Maksim Dadzerkin

Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Embed Size (px)

Citation preview

Page 1: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

By Maksim Dadzerkin

Page 2: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

OAuth – протокол авторизации.

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

Протокол избавляет от необходимости доверятьприложению логин и пароль, а также позволяетвыдавать ограниченный набор прав (например,только на чтение ограниченного набора ресурсов).

Page 3: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

OAuth 2.0 основан на использовании базовых веб-технологий (HTTP).

Использование возможно:

WEB-сайты

Мобильные приложения

Desktop приложения

и т.п.

Page 4: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Facebook

Google

Yandex

LinkedIn

VK

И др.

Page 5: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Виды авторизаций:

с помощью логина и пароля

для приложений с серверной частью

для полностью клиентских приложений

с возможностью восстановления предыдущей авторизации

Page 6: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Client ID

Secret Key (Shared Secret Key)

Authorization Grants

Access Token

Refresh Token

Page 7: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Resource Owner – владелец ресурса

Resource Server – сервер, который содержитзащищаемые ресурсы. Сервер поддерживаетфункции по предоставлению ресурсов по accesstoken

Client – приложение, делающее запросы кзащищенным ресурсам от имени владельца этихресурсов и с его разрешения

Authorization Server – выдает access tokensклиенту после успешной аутентификации владельцаресурсов и получения разрешений.

Page 8: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Client

Resource

Owner

Authorization

Server

Resource

Server

Authorization Request

Authorization Grant

Authorization Grant

Access Token

Access Token

Protected Resource

Page 9: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

ClientAuthorization

Server

Resource

Server

Authorization Grant

Access Token & Refresh Token

Refresh Token

Access Token & Optional Refresh Token

Access Token

Protected Resource

Access Token

Invaid Token Error

Page 10: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Java:

Apache Amber (draft 22)

Spring Security for OAuth

Apis Authorization Server (v2-31)

Restlet Framework (draft 30)

Apache CXF

.NET:

.NET DotNetOpenAuth

Page 11: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Java:

Apache Amber (draft 22)

Spring Social

Spring Security for OAuth

Restlet Framework (draft 30)

.NET:

DotNetOpenAuth

Spring Social for .NET

Page 12: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Авторизация без использования логина и пароля пользователя предоставляет множество преимуществ:

Безопасность.

Повышение лояльности пользователей.

Удобство для пользователей.

Page 13: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

В реализации OAuth 2.0 можно выделить следующие отрицательные моменты:

Взаимодействие

Ограниченный срок действия маркеров

Page 14: Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложений

Вопросы?