Services get up to date attribute information whenever a user logs in. If a service stores attributes, they may become outdated over time, especially if a user has not logged in for a longer period. The purpose of the SP notification API is to give SPs the possibility to subscribe to a set of attributes, and then getting a message if at least one of the monitored attribute values has changed for a user.
Typical applications
Current limitations
Data protection
The edu-ID notification service only sends notifications under the following conditions:
Attribute update procedure
As a prerequisite the SP implements the RESTful SP Notification API via the https protocol, where it listens for notification messages issued by edu-ID.
The procedure to get attribute update for a user is as follows:
If the SP Notification API can't be reached, or if the SP does not acknowledge the reception of the message, the edu-ID service retries to send the notification message every hour for max. 48 hours.
The SP Notification API is a webhook implemented by the SP. The edu-ID service sends notification messages to that API. The message only contains the swissEduPersonUniqueID of the person whose attribute has changed.
The SP Notification API is a drastically limited subset of the SCIM specification.
Example:
Request edu-ID → SP
edu-ID sends the swissEduPersonUniqueID (709429474319@eduid.ch) to the SP
PUT /Users/709429474319@eduid.ch
Host: cloud.switch.com
Accept: application/scim+json
Content-Type: application/scim+json
{
"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
"id":"709429474319@eduid.ch"
}
A request like this can be sent for example with the following curl command:
Response SP → edu-ID
On success, the service responds with the same ID of the updated user:
HTTP/1.1 200 OK
Content-Type: application/scim+json
Location:
"https://example.com/api/Users/709429474319@eduid.ch"
{
"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
"id":"709429474319@eduid.ch"
}
If something is not ok, the SP should respond with:
The following information has to be sent to eduid@switch.ch to register an SP for notifications:
To get notified on changes of one of the email addresses: Subscribe to changes for the attribute "Additional E-mail Address".
To get notified on changes (add/modify/remove) of one of the affiliations: Subscribe to changes for the attribute "Affiliations".
To get notified on account merges: subscribe to changes for the attribute "E-mail Address". The SP gets a notification for the maintained edu-ID account. To distinguish this notification from a simple change of email addresses the SP should check the merge history using the edu-ID Tools API.