Skip to content

Commit 6c184c0

Browse files
authored
Merge pull request #606 from GSA-TTS/update-risc-api-docs
Update RISC API docs
2 parents 9041a2a + 93eb03b commit 6c184c0

2 files changed

Lines changed: 12 additions & 53 deletions

File tree

_data/risc_outgoing.yml

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -102,50 +102,6 @@
102102
}
103103
}
104104

105-
- friendly_name: Identifier Recycled
106-
direction: outgoing
107-
event_type: https://schemas.openid.net/secevent/risc/event-type/identifier-recycled
108-
spec_url: "https://openid.net/specs/openid-risc-event-types-1_0-ID1.html#rfc.section.2.6"
109-
description: >
110-
Login.gov pushes this event when a user removes an email address from their account, freeing up the email address as an identifier.
111-
payload_schema: &email_schema
112-
- key: subject
113-
description: An event will include a **subject** object, with the following keys
114-
properties:
115-
- key: subject_type
116-
type: string
117-
description: >
118-
Will be **email**
119-
- key: email
120-
type: string
121-
description: >
122-
This is the email address that no longer belongs to any user.
123-
example_payload: {
124-
"https://schemas.openid.net/secevent/risc/event-type/identifier-recycled": {
125-
"subject": {
126-
"subject_type": "email",
127-
"email": "<$EMAIL>"
128-
}
129-
}
130-
}
131-
132-
- friendly_name: Identifier Changed
133-
direction: outgoing
134-
event_type: https://schemas.openid.net/secevent/risc/event-type/identifier-changed
135-
spec_url: "https://openid.net/specs/openid-risc-event-types-1_0-ID1.html#rfc.section.2.5"
136-
description: >
137-
Login.gov pushes this event when a user changes the email address associated with their account.
138-
payload_schema:
139-
*email_schema
140-
example_payload: {
141-
"https://schemas.openid.net/secevent/risc/event-type/identifier-changed": {
142-
"subject": {
143-
"subject_type": "email",
144-
"email": "<$EMAIL>"
145-
}
146-
}
147-
}
148-
149105
- friendly_name: Account Locked Due to MFA (Multi-Factor Authentication) Limit Reached
150106
event_type: https://schemas.login.gov/secevent/risc/event-type/mfa-limit-account-locked
151107
spec_url:

_pages/security-events.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The [OpenID RISC Profile][openid-risc-events-profile] defines some very specific
4242

4343
### Auto-discovery
4444

45-
Login.gov provides a JSON endpoint for OpenID Connect auto-discovery at `/.well-known/risc-configuration`. In our agency integration environment, this is available at <https://idp.int.identitysandbox.gov/.well-known/risc-configuration>
45+
Login.gov provides a JSON endpoint for OpenID Connect auto-discovery at `/.well-known/risc-configuration`. In our agency integration environment, this is available at <https://idp.int.identitysandbox.gov/.well-known/risc-configuration>. In production, the URL is <https://secure.login.gov/.well-known/risc-configuration>.
4646

4747
### Supported Incoming Events
4848

@@ -88,7 +88,7 @@ JWTs must be signed by the client application's private key using **RS256**, the
8888
#### JWT Claims
8989

9090
* **aud** (required)
91-
The audience for this JWT, which is the full URL for the `/api/risc/security_events` endpoint. In the agency integration environment, this is `https://idp.int.identitysandbox.gov/api/risc/security_events`
91+
The audience for this JWT, which is the full URL for the `/api/risc/security_events` endpoint. In the agency integration environment, this is `https://idp.int.identitysandbox.gov/api/risc/security_events`. In production, this is `https://secure.login.gov/api/risc/security_events`.
9292

9393
* **iat**
9494
Time at which the JWT was issued, an integer timestamp representing the number of seconds since the Unix Epoch.
@@ -112,7 +112,8 @@ JWTs must be signed by the client application's private key using **RS256**, the
112112
Must be **iss-sub**, this indicates the **sub** is the subject provided by the original issuer (Login.gov)
113113

114114
* **iss**
115-
This is Login.gov's issuer, the root URL for Login.gov. In the agency integration environment, this is `https://idp.int.identitysandbox.gov`
115+
This is Login.gov's issuer, the root URL for Login.gov. In the agency integration environment, this is `https://idp.int.identitysandbox.gov`. In production, this is `https://secure.login.gov/`.
116+
116117

117118
* **sub**
118119
The UUID identifying the user. This is provided as the `sub` inside the `id_token` JWT in the [OpenID Token endpoint]({{ '/oidc/token/#token-response' | prepend: site.baseurl }}).
@@ -276,21 +277,23 @@ Example:
276277

277278
Login.gov will make a POST request to your app's `push_notification_url`, see [Configuration](#configuration) for more details on setting that up. The JWT will be signed with Login.gov's private key. See the OpenID Connect guide for information on how to get Login.gov's public key from the [Certificates Endpoint](/oidc/certificates/).
278279

279-
If your app had the client ID of `urn:gov:gsa:openidconnect:test:risc:sets` and was configured to receive events at `https://agency.example.gov/events`, and a user freed up `[email protected]` Login.gov would make a request like this.
280+
If your app had the client ID of `urn:gov:gsa:openidconnect:test:risc:sets` and was configured to receive events at `https://agency.example.gov/events`, and a user deleted their Login.gov account, Login.gov would make a request like the one below.
280281

281282
With a JWT payload:
282283

283284
```json
284285
{
285286
"iss": "https://idp.int.identitysandbox.gov/",
286-
"jti": "abcdefghijklmnopqrstuvwxyz",
287287
"iat": 1595532178,
288+
"exp": 1775025745,
289+
"jti": "abcdefghijklmnopqrstuvwxyz",
288290
"aud": "https://agency.example.gov/events",
289291
"events": {
290-
"https://schemas.openid.net/secevent/risc/event-type/identifier-recycled": {
292+
"https://schemas.openid.net/secevent/risc/event-type/account-purged": {
291293
"subject": {
292-
"subject_type": "email",
293-
"email": "[email protected]"
294+
"subject_type": "iss-sub",
295+
"iss": "https://idp.int.identitysandbox.gov",
296+
"sub": "123d4f56-jkl7-891011-t12vw-y13a1415d1617ghi19"
294297
}
295298
}
296299
}
@@ -335,7 +338,7 @@ KS0KvsV0eIRIhvg8wGdN6luIgsXi4nqp9ZY3OF2ft2fUwsk5rk2O_e2-I2Lf8yj0HN1BQ8IIAChWB9_d
335338
Time at which the JWT was issued, an integer timestamp representing the number of seconds since the Unix Epoch.
336339

337340
* **iss** (string)
338-
The issuer of this SET, which will be Login.gov's issuer, the root URL for Login.gov. In the agency integration environment, this is `https://idp.int.identitysandbox.gov`
341+
The issuer of this SET, which will be Login.gov's issuer, the root URL for Login.gov. In the agency integration environment, this is `https://idp.int.identitysandbox.gov`. In production, this is `https://secure.login.gov`.
339342

340343
* **jti** (required)
341344
JWT Identifier. This will be a random, unique identifier for this event, you should be able to de-duplicate based on this.

0 commit comments

Comments
 (0)