The website where the user is trying to log in Endpoint The URL of the provider which accepts and handles OpenID protocol messages Claimed Identifier The identity of the user verified by the Provider Some terminology
(e.g. ask.fedoraproject.org) 2. The user clicks on the Log In button 3. The user enter his/her identity URL (puiterwijk.id.fedoraproject.org) 4. The consumer redirects the user to the provider (id.fedoraproject.org) 5. The user authenticates to the provider 6. The user is redirected back to the original website, being authenticated Simple process
Returned HTML contains either of the following: HTML tag saying where the endpoint is HTML tag saying where to find the discovery info HTTP header saying where to find the discovery info Now we are ready to redirect the user, right? Well, maybe.. Discovery
with the provider which is used for verifying the claim at return. Stateless The key is generated by the provider and returned in the response. Whatever happens, the response is validated by requesting a check against the provider. Two operational modes
party: Nickname Email address Timezone Used by lots of relying parties to pre-fill registration forms after authenticating with OpenID. Simple Registration
verify the user: Username/password OTP token Tamper-proof OTP token Also, the Relying Party can require any specific type to be used for authentication to be successful, or have the authentication time out. Provider Authentication
sends list of groups it would like to know if the user is a member of The server returns a list of groups the user is actually a member of Named teams because the spec was written by Launchpad team Teams
user has signed a Contributor License Agreement (or any other form of license agreement) Different URL bases for different OpenID providers Extensions defined by us, Fedora team CLA
Fedora Account System for many years, but was not following the standards completely, so not compatible with some Relying Parties Added the teams, CLA and PAPE extensions Has been live for about a year now, without major incidents Current provider
code because FAS backends are less common than OpenID backends Busy moving all services over to using OpenID Last but not least: we support other people using any of the extensions! Summary