В чём разница между scope в OpenID и OAuth2
Python
Senior
Без компании
В чём разница между scope в OpenID и OAuth2
Ответы
OpenID и OAuth2 используют scope для разных целей, несмотря на схожий синтаксис.
**OpenID scope** определяет, какие данные о пользователе (claims) будут доступны. Например:
- `openid` — обязательный scope для аутентификации
- `profile` — доступ к имени, фамилии и т.д.
- `email` — доступ к email
**OAuth2 scope** определяет права доступа к API, а не данные пользователя:
- `read` — только чтение
- `write` — запись
- `admin` — полный доступ
Пример запроса авторизации с обоими типами scope:
```
auth_url = (
"https://auth.server/authorize?"
"response_type=code&"
"client_id=CLIENT_ID&"
"scope=openid%20profile%20email%20read%20write&"
"redirect_uri=CALLBACK_URL"
)
```
Ключевое отличие: OpenID scope — про данные пользователя, OAuth2 scope — про разрешения для API.