380 likes | 502 Views
USC’s OAuth Recipe: OAuth + Enriched Identity Data + Central Authorization. Brendan Bellina Mgr, Identity and Access Management University of Southern California brendan.bellina@usc.edu. Discussion Points. Benefits and Challenges of OAuth Techniques to Address Major Challenges
E N D
USC’s OAuth Recipe:OAuth + Enriched Identity Data + Central Authorization Brendan Bellina Mgr, Identity and Access Management University of Southern California brendan.bellina@usc.edu
Discussion Points • Benefits and Challenges of OAuth • Techniques to Address Major Challenges • Self-Registration into Institutional Identity Store using Shibboleth • Enriched Identity Data • Account Linking and Unlinking • External Authorization using Groups • Live Demonstration
Benefits of Using OAuth (Social Providers) • Extend USC Services to greater populations using existing credentials stored elsewhere • Password related issues addressed by OAuth provider • Social providers being commonplace reduces barrier to adoption
Challenges With Using OAuth • Different versions of OAuth with different capabilities • Inconsistent and unpredictable attribute release • Attributes required for applications may be missing • Identity is self-asserted – potential risk to applications • User may use multiple OAuth providers, leads to login confusion and multiple identifiers • OAuth providers come and go, leading to potential loss of identifier persistence • How to Revoke an OAuth Login • Authentication without Authorization
What Is Needed • Allow multiple OAuth providers per identity and the provider should be transparent to the service • Addresses problem of user using multiple OAuth providers • Addresses problem of deprecated OAuth providers • Deliver a standard attribute set regardless of OAuth provider or version for compatibility with applications • Provide consistent user attribute values to services • Externalize authorization to apps to reduce risk and allow revocation • Support for both Just-in-Time provisioning and ETL provisioning
Benefits of Self-Registration • Registry provides single place for maintenance of user attributes • Opportunity to enrich data released by OAuth providers to meet requirements and provide consistency • Allows creation of persistent identifiers for use across institutional services • Opportunity to provide linking to multiple OAuth providers to address continuity • Ability for user to unlink an OAuth Provider or credential • Registry entries can be used for ETL Provisioning • Registry entries can be used for authorization
Workflow for External Guest at USC Register using OAuth Provider at USC Guestreg site, select user ID GDS Groups Sync process initiated every 10 minutes Receive Email with registered id (eppn) 5 - 10 min Group manager uses MyGroups to submit participant to groups GDS Groups Sync process initiated every 10 minutes Contacts group managers, providing registered id Wait < 10 minutes Enriched Packet consisting of registered id (eppn), standard attribute set, and scoped group memberships from USC IdP provided to application Guest goes to app and selects OAuth provider and logs in End User Actions Administrator Actions Automated Processes
Oh great gods of the Demo, we beseech thee, bless us with bandwidth and stability in these times of interactivity. Let not browser bugs hamper us in our clicking. Credit to Jim Phelps, UW Madison
Some Technical Decision Points • Session Lifetime of OAuth Login Credential – We decided on short • Avoiding Potential ID conflicts – We decided to put all guest IDs in the unique domain guest.usc.edu • Using the same OAuth login with multiple registrations – We do not allow this as it would not be evident which registered ID and attributes to use • Bypassing registration for an app – We are not requiring registration for all applications but encourage it because of the significant benefits of registering • Lifetime of Registered Guest Accounts – We are not terminating them at this time
Links • USC: http://www.usc.edu • USC IAM Website: http://www.usc.edu/iam • USC Guest Registration: http://www.usc.edu/guestreg • USC MyGroups: http://www.usc.edu/mygroups