[Openid-specs-mobile-profile] Client credential lifecycle mgmt for Native Apps

Lodderstedt, Torsten t.lodderstedt at telekom.de
Fri Apr 10 16:39:44 UTC 2015

Hi all,

during the working session at IIW it became apparent that we don't have a consent on the way client credentials are managed for native apps in the context of the mobile profile. As this an important design consideration, which will drive not only the registration spec but also considerations with respect to signature algorithms and so on, I would like to come to a consensus on that topic soon.

There are basically two options:

1)      All instances of a native app (== the software package) share the same identity. This typically means, the app is registered as a so-called public client with the AS/OP and only gets issued a client_id. In the context of the mobile profile, I would assume the developer registers with a developer portal and gets issued distinct client_ids per MNO (a pair of issuer and client_id). At runtime, the app can decide based on the outcome of the discovery process which client_id to use for the respective MNO.

2)      Every instance of a native app on a device is registered with the MNO. This would typically happen when the user uses the login with a certain MNO on this device for the first time. So the app first would discover the MNO and determine whether it already is in possession of client credentials for this particular MNO (based on its Issuer). If not, it would send a registration request to the MNO.

I see the following pros and cons:

Option (1) is established practice (except the fact an app managing several client ids for different OPs). So developers know how to work that way. Software statements could be used to automate the way client ids are obtain in the deployment process. But there are other ways as well.

Option (2) is a new approach. It has the advantage to provide every instance with a distinct credential, which allows to recognize and authenticate this instance later on. It could be used to prevent authz code theft on the device, something we already have SPOP for (http://tools.ietf.org/html/draft-ietf-oauth-spop-10 - sorry John, forgot the new acronym). Do you see other advantages? On the other hand, this option would require the OP to implement credential management for potentially a lot of client instances. This will be a challenge with respect to state management on the OP's side.

Please comment on this topic.

Thanks in Advance,

Products & Innovation
Dr.-Ing. Torsten Lodderstedt
Head of Development
Customer Platforms
T-Online Allee 1, 64295 Darmstadt
+49 6151 680 7038 (Tel.)
E-Mail: t.lodderstedt at telekom.de<mailto:t.lodderstedt at telekom.de>


Die gesetzlichen Pflichtangaben finden Sie unter:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-mobile-profile/attachments/20150410/3520a474/attachment.html>

More information about the Openid-specs-mobile-profile mailing list