OAuth 1.0 устарел на OAuth 2.0 . Таким образом, вы можете удалить OAuth 1.0 из своего инвентаря.
Теперь различаются OAuth 2.0 и OpenID Connect . OAuth 2.0 - это фреймворк, созданный для авторизации. OpenID Connect построен на основе OAuth 2.0 (расширяя его возможности) и обеспечивает авторизацию, а также аутентификацию (аутентификация построена на идентификатор токена ).
Теперь эти протоколы позволяют вам завершать поток протоколов и получать токены с сервера авторизации (иногда называемого провайдером идентификации или сервером идентификации). В отличие от поддержки пользователей для каждого приложения, реестр пользователей поддерживается службой авторизации, которая может использоваться несколькими приложениями. Также сервер авторизации будет выдавать и поддерживать токены. Кроме того, он предоставит механизмы проверки токенов, которые будут использоваться потребителями токенов (например: - OAuth 2.0 Интроспекция токена ).
Насколько я знаю, auth2 больше используется для сторонней аутентификации
Не обязательно. Как отмечалось выше, этот подход позволяет централизованно вести учетные записи пользователей. И предоставить способы получения токенов против пользователей для внутренних приложений. Разрешение сторонней аутентификации является бонусом.
В некоторых других открытых API-интерфейсах разработчику необходимо зарегистрировать учетную запись разработчика и получить ключ и секретный ключ приложения. Они могут использовать ключ и секрет для использования своих API.
OAuth 2.0 (OpenID Connect) также требует регистрации приложения на сервере авторизации. Но в отличие от ключа приложения, подхода, основанного на секрете (или подхода на основе ключа API), OAuth 2.0 предоставляет вам возможность автоматизировать процесс получения и обновления токенов. Это делается путем следования определенному потоку (например: - поток кода авторизации ). Токены с более коротким сроком службы и способностью отзывать их также полезны для безопасности.
Какой из них больше подходит для моего варианта использования?
Я предпочитаю использовать OAuth 2.0 или OpenID Connect. С их помощью вы можете защитить свои API с помощью токенов доступа. Пользователи вашего SDK должны отправлять токен доступа, как определено в Использование маркера носителя
Теперь, что выбрать между OAuth 2.0 и OpenID Connect?
Ну, это зависит от того, какой конец клиента требуется от SDK. Если клиентским приложениям необходимо идентифицировать конечного пользователя и аутентифицировать его, вам следует выбрать OpenID Connect. Но если клиентскому приложению нужно только использовать API, вы можете использовать OAuth 2.0. В любом случае ваш API должен вызываться с допустимым токеном доступа. И ваш API должен проверять токен доступа перед предоставлением доступа.