Запрос утверждений и агрегированные утверждения
Узнайте, как OpenID Connect позволяет клиентам запрашивать определённые утверждения с помощью параметра claims и как распределённые и агрегированные утверждения доставляют подтверждения из внешних источников.
«Запрос утверждений и агрегированные утверждения» — бесплатный урок OAuth2 & OpenID Connect Deep Dive на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения OAuth2 & OpenID Connect Deep Dive, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс OAuth2 & OpenID Connect Deep Dive содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Requesting Specific Claims
Beyond scopes like profile or email, OIDC offers a finer-grained claims request parameter. It lets a client ask for individual claims and target where they appear: in the ID token or from UserInfo.
The claims Parameter Shape
The claims parameter is a JSON object with two top-level members: id_token and userinfo. Each maps claim names to a value describing how they are requested.
{
"id_token": { "auth_time": { "essential": true } },
"userinfo": { "email": null, "email_verified": null }
}essential, value, values
Each requested claim can specify:
essential: true— the client really needs it.value— request that the claim equals a specific value.values— request one of several allowed values.
{ "acr": { "essential": true,
"values": ["urn:mace:incommon:iap:silver"] } }Sending It in the Request
The JSON is URL-encoded and sent as the claims query parameter on the authorization request.
GET /authorize?response_type=code
&client_id=app123&scope=openid
&claims=%7B%22id_token%22%3A%7B%22auth_time%22%3A%7B%22essential%22%3Atrue%7D%7D%7DWhy Not Just Scopes?
Scopes bundle many claims at once. The claims parameter is for when you need precision — a single specific claim, an essential requirement, or a constraint on its value. It complements scopes rather than replacing them.
Aggregated Claims
Sometimes claims come from a third party the OP trusts. Aggregated claims are bundled by the OP as a signed JWT from the external claims provider and returned inline, so the client gets verifiable assertions without extra calls.
Aggregated Claims Format
The OP references them via _claim_names (which claim came from which source) and _claim_sources (the JWT holding them).
{
"_claim_names": { "address": "src1" },
"_claim_sources": {
"src1": { "JWT": "eyJhbGciOi..." }
}
}Distributed Claims
Distributed claims are not embedded; instead the OP gives an endpoint and access token so the client can fetch them directly from the external source when needed.
{
"_claim_names": { "payment_info": "src2" },
"_claim_sources": {
"src2": {
"endpoint": "https://bank.example.com/claims",
"access_token": "ksj3n283dke"
}
}
}Aggregated vs Distributed
The trade-off:
- Aggregated — claims travel inline, fewer round-trips, larger token.
- Distributed — claims fetched on demand, smaller token, extra request and live availability of the source.
Processing External Claims
For aggregated claims, verify the embedded JWT's signature against the claims provider's keys. For distributed claims, call the endpoint with the supplied access token and validate the returned JWT before trusting any values.
When to Use These
External claim mechanisms shine in federations: an identity provider asserts who you are, while a bank or government source asserts verified attributes. They keep sensitive data at its authoritative source.
Quick Check
Test your understanding of claim requests.
Recap
The claims parameter enables fine-grained, essential, or value-constrained claim requests targeting the ID token or UserInfo.
essential,value, andvaluesrefine each request.- Aggregated claims are embedded inline as signed JWTs.
- Distributed claims are fetched from an external endpoint.
- Always verify external claim signatures before trusting them.
Изучай OAuth2 & OpenID Connect Deep Dive с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 12
- Уроки
- 48
Часто задаваемые вопросы
Урок «Запрос утверждений и агрегированные утверждения» бесплатный?
Да — полный текст урока «Запрос утверждений и агрегированные утверждения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс OAuth2 & OpenID Connect Deep Dive, подпишись на CoddyKit PRO. Курс OAuth2 & OpenID Connect Deep Dive содержит 4 уроков всего.
Чему я научусь в уроке «Запрос утверждений и агрегированные утверждения»?
Узнайте, как OpenID Connect позволяет клиентам запрашивать определённые утверждения с помощью параметра claims и как распределённые и агрегированные утверждения доставляют подтверждения из внешних ис… Ты практикуешь OAuth2 & OpenID Connect Deep Dive с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать OAuth2 & OpenID Connect Deep Dive?
Предыдущий опыт не требуется. OAuth2 & OpenID Connect Deep Dive на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Запрос утверждений и агрегированные утверждения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке OAuth2 & OpenID Connect Deep Dive?
Да. Каждый урок OAuth2 & OpenID Connect Deep Dive включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Динамическая регистрация клиентов
- Конечная точка обнаружения OIDC
- Управление сеансами
- Запрос утверждений и агрегированные утверждения