SDK и библиотеки
Авториза реализует стандарты OAuth 2.0 и OpenID Connect.
Для интеграции не требуется использовать специальные SDK Авторизы. Для подключения рекомендуется использовать стандартные OAuth 2.0 / OpenID Connect библиотеки вашего языка или фреймворка.
TLDR; Что выбрать?
Если вы начинаете новый проект, рекомендуется использовать:
| Платформа | Рекомендуемая библиотека |
|---|---|
| Next.js | Auth.js |
| React SPA | react-oidc-context |
| Vue | oidc-client-ts |
| Angular | angular-oauth2-oidc |
| NestJS | openid-client |
| Spring Boot | Spring Security |
| ASP.NET | Microsoft OpenIdConnect |
| Android | AppAuth |
| iOS | AppAuth |
| Flutter | flutter_appauth |
Примеры интеграции
Мы подготовили несколько примеров интеграции Авториза в проекты с разным стеком:
| Платформа | Использованная OIDC-библиотека | Репозиторий |
|---|---|---|
| Next.js | next-auth.js | authoriza-nextjs-demo |
| React SPA | - | authoriza-demo-react-spa |
| FastAPI | Authlib | authoriza-fastapi-demo |
| Qt | QtNetworkAuth | authoriza-qt-demo |
| ASP.Net | Microsoft OpenIdConnect | authoriza-aspnet-demo |
| Spring Boot | Spring Security | authoriza-spring-demo |
| Django | mozilla-django-oidc | authoriza-django-demo |
| Laravel | kovah/laravel-socialite-oidc | authoriza-laravel-demo |
| Flutter | flutter_appauth | authoriza-flutter-demo |
| Kotlin | AppAuth for Android | authoriza-kotlin-demo |
Больше вариантов:
Ниже приведены рекомендуемые решения для популярных языков и платформ.
Некоторые библиотеки отмечены как OpenID Certified™. Это означает, что они успешно прошли сертификацию OpenID Foundation на совместимость со стандартом OpenID Connect.
JavaScript / TypeScript
Next.js
Рекомендуется
- NextAuth.js / Auth.js
- openid-client
React SPA
Рекомендуется
- oidc-client-ts
- react-oidc-context
Vue
Рекомендуется
- oidc-client-ts
- vue-authenticate
Angular
Сертифицировано
- angular-oauth2-oidc (OpenID Certified™)
Также используется
- angular-auth-oidc-client
Node.js Backend
Рекомендуется
- openid-client
- passport-openidconnect
NestJS
Рекомендуется
- openid-client
- Passport + passport-openidconnect
Java
Spring Boot
Рекомендуется
- Spring Security OAuth2 Client
- Spring Security OIDC
Фактически является стандартным способом интеграции OIDC в экосистеме Spring.
.NET
ASP.NET Core
Сертифицировано, рекомендуется
- Категория: ASP.NET OpenID Connect implementations (OpenID Certified™)
- Библиотека: Microsoft.AspNetCore.Authentication.OpenIdConnect
Desktop / MAUI
Сертифицировано
- IdentityModel.OidcClient (OpenID Certified™)
PHP
Рекомендуется
- jumbojett/openid-connect-php
- Laravel Socialite (через OIDC-провайдеры)
Python
Django
Рекомендуется
- mozilla-django-oidc
- Authlib
FastAPI
Рекомендуется
- Authlib
- fastapi-users
Go
Сертифицировано
- CAOS OIDC Library (OpenID Certified™)
Также популярны
- coreos/go-oidc
- golang.org/x/oauth2
Flutter
Сертифицировано
- Flutter AppAuth implementation (OpenID Certified™)
Рекомендуется
- flutter_appauth
Android
Рекомендуется
- AppAuth Android
Фактически является стандартной библиотекой для OpenID Connect и OAuth 2.0 на Android.
iOS
Рекомендуется
- AppAuth iOS
Фактически является стандартной библиотекой для OpenID Connect и OAuth 2.0 на iOS.
React Native
Рекомендуется
- react-native-app-auth
Machine-to-Machine
Для сервисов без пользовательского интерфейса рекомендуется использовать библиотеки OAuth 2.0 вашего языка с поддержкой:
- Client Credentials Flow
- JWT Validation
- JWKS