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

Post on 09-Aug-2015

86 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

By Maksim Dadzerkin

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

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

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

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

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

WEB-сайты

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

Desktop приложения

и т.п.

Facebook

Google

Yandex

LinkedIn

VK

И др.

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

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

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

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

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

Client ID

Secret Key (Shared Secret Key)

Authorization Grants

Access Token

Refresh Token

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

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

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

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

Client

Resource

Owner

Authorization

Server

Resource

Server

Authorization Request

Authorization Grant

Authorization Grant

Access Token

Access Token

Protected Resource

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

Java:

Apache Amber (draft 22)

Spring Security for OAuth

Apis Authorization Server (v2-31)

Restlet Framework (draft 30)

Apache CXF

.NET:

.NET DotNetOpenAuth

Java:

Apache Amber (draft 22)

Spring Social

Spring Security for OAuth

Restlet Framework (draft 30)

.NET:

DotNetOpenAuth

Spring Social for .NET

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

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

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

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

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

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

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

Вопросы?

top related