1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/java-aodeng-hope-oauth

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 17:05 a2e3730

Oauth2-Service

Технологический стек: Spring-Boot2 Oauth2 Spring-Security.

Разработчик: «Низко ди Оуэн» (aodeng).

Использование документа

Oauth2 поддерживает пять способов авторизации:

GRANT_TYPE Description
authorization_code Способ авторизации с использованием кода (сначала необходимо авторизоваться, чтобы получить код, а затем получить токен). Наиболее часто используемый способ.
password Способ авторизации по паролю (имя пользователя и пароль передаются напрямую для получения токена). Подходит для мобильных устройств.
client_credentials Способ авторизации клиента (клиент регистрируется без пользователя, а затем клиент получает ресурсы от имени сервера).
implicit Упрощённый способ авторизации (токен передаётся через Hash в redirect_uri, клиент работает в браузере, например, JS или Flash).
refresh_token Способ обновления access_token.

1. Authorization_code

  • Запрос кода:
http://localhost:8080/oauth/authorize?response_type=code&scope=read write&client_id=curl-client&redirect_uri=http://www.baidu.com&state=b375bc2b-25f7-4dce-9b36-5f9e2d20bda1
  • Авторизация.
  • Разрешение.
  • Возврат кода:
http://www.baidu.com/?code=kG4F2N&state=b375bc2b-25f7-4dce-9b36-5f9e2d20bda1
  • Запрос access_token:
curl -X POST http://localhost:8080/oauth/token -H "Accept: application/json" -d "client_id=curl-client&client_secret=client-secret&grant_type=authorization_code&code=kG4F2N&redirect_uri=http://www.baidu.com"
  • Возврат access_token:
{"access_token":"30626e87-761f-410c-9497-84b29d310dd7","token_type":"bearer","refresh_token":"0843fbec-20e3-4802-93a0-357488403924","expires_in":29,"scope":"read write"}
  • Запрос ресурса:
curl http://localhost:8080/user/ping -H "Authorization: Bearer 30626e87-761f-410c-9497-84b29d310dd7"

2. Password

  • Запрос access_token:
curl -X POST http://localhost:8080/oauth/token -H "Accept: application/json" -d "grant_type=password&scope=read%20write&client_id=curl-client&client_secret=client-secret&username=nangzi&password=nangzi"
  • Возврат access_token:
{"access_token":"9ac3fe0f-f380-4149-8fca-19a72374365d","token_type":"bearer","refresh_token":"0843fbec-20e3-4802-93a0-357488403924","expires_in":29,"scope":"read write"}
  • Запрос ресурса:
curl http://localhost:8080/user/ping -H "Authorization: Bearer 9ac3fe0f-f380-4149-8fca-19a72374365d"

3. Client_credentials

  • Запрос access_token:
curl -X POST http://localhost:8080/oauth/token -H "Accept: application/json" -d "grant_type=client_credentials&scope=read%20write&client_id=curl-client&client_secret=client-secret"
  • Возврат access_token:
{"access_token":"904953fc-f446-49f3-9258-06d0f6cfba5b","token_type":"bearer","expires_in":29,"scope":"read write"}
  • Запрос ресурса:
curl http://localhost:8080/user/ping -H "Authorization: Bearer 904953fc-f446-49f3-9258-06d0f6cfba5b"

4. Implicit

  • Запрос access_token:
http://localhost:8080/oauth/authorize?response_type=token&scope=read write&client_id=curl-client&client_secret=client-secret&redirect_uri=http://www.baidu.com&state=b375bc2b-25f7-4dce-9b36-5f9e2d20bda1
  • Авторизация.
  • Разрешение.
  • Возврат access_token:
http://www.baidu.com/#access_token=aa7779b0-b98e-4739-b0d7-922a811ed134&token_type=bearer&state=b375bc2b-25f7-4dce-9b36-5f9e2d20bda1&expires_in=29
  • Запрос ресурса:
curl http://localhost:8080/user/ping -H "Authorization: Bearer aa7779b0-b98e-4739-b0d7-922a811ed134"

5. Refresh_token

  • Запрос refresh_token:
curl -X POST http://localhost:8080/oauth/token -H "Accept: application/json" -d "grant_type=refresh_token&refresh_token=0843fbec-20e3-4802-93a0-357488403924&client_id=curl-client&client_secret=client-secret"
  • Возврат access_token:
{"access_token":"6aa17ed5-e684-4dfa-90a8-61b2ad7c7615","token_type":"bearer","refresh_token":"0843fbec-20e3-4802-93a0-357488403924","expires_in":29,"scope":"read write"}
  • Запрос ресурса:
curl http://localhost:8080/user/ping -H "Authorization: Bearer 6aa17ed5-e684-4dfa-90a8-61b2ad7c7615"

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/java-aodeng-hope-oauth.git
git@api.gitlife.ru:oschina-mirror/java-aodeng-hope-oauth.git
oschina-mirror
java-aodeng-hope-oauth
java-aodeng-hope-oauth
master