User Apps with Identifiers: Difference between revisions
Jump to navigation
Jump to search
Line 26: | Line 26: | ||
* The app is loaded from a trusted web site and has access to the service broker features in the DOM. | * The app is loaded from a trusted web site and has access to the service broker features in the DOM. | ||
* Also known as a Progressive Web App or PWA. | * Also known as a Progressive Web App or PWA. | ||
* The user on a web browser can click on a POST button provided by the RP. The POST is to the URL of the site that loaded the Web App service broker on the user's device. The browser can direct that POST to the Web App for processing. Eventually the Web App will respond to the user's browser with the AuthZ code (or token) for redirection to RP, which results in the response from the RP | * The user on a web browser can click on a POST button provided by the RP. The POST is to the URL of the site that loaded the Web App service broker on the user's device. The browser can direct that POST to the Web App for processing. Eventually the Web App will respond to the user's browser with the AuthZ code (or token) for redirection as a GET to RP, which results in the response from the RP that puts the user back in control. | ||
* The app is only available when running on a smartphone, but the web address will respond if the if app is not running. | * The app is only available when running on a smartphone, but the web address will respond if the if app is not running. | ||
====Unsolved Problem==== | ====Unsolved Problem==== |
Revision as of 02:56, 13 January 2021
Full Title
This article addresses the various solutions to creation of a synchronized Identifier between a user app and a Relying Party
Context
The use case addressed here is a Smartphone app that is uses to establish a user's identifier with a Website over the internet.
Problems
- The user needs to trust that the app will honor the user's wishes.
- The web site needs to trust that the app correctly informs it of the user's preferred identifier with:
- the appropriate Identity Assurance Level (IAL) aka identity proofing.
- the appropriate Authentication Assurance Level (AAL) aka proof of presence and control by the user.
- the appropriate Federation Assurance Level (FAL) aka follows the federation rule and regulations. (optional)
Two major category of app are consider along with a hybrid that lies between the two.
Native App Solutions
- The app is loaded from a trusted app store and has full access to the features of the device.
- If the smart phone browser is available, (the assumption is that) it will be able to start the app.
Unsolved Problem
- The redirection code (e.g. openid://) can be registered, or hijacked) by any app that the user downloads.
- The RP needs to enable the openid with one button (among many others) that redirects to the app for authentication.
- Once the app have been invoked it requires special code to return control to the user in the same context (browser tab.)
Web App Solutions
- The app is loaded from a trusted web site and has access to the service broker features in the DOM.
- Also known as a Progressive Web App or PWA.
- The user on a web browser can click on a POST button provided by the RP. The POST is to the URL of the site that loaded the Web App service broker on the user's device. The browser can direct that POST to the Web App for processing. Eventually the Web App will respond to the user's browser with the AuthZ code (or token) for redirection as a GET to RP, which results in the response from the RP that puts the user back in control.
- The app is only available when running on a smartphone, but the web address will respond if the if app is not running.
Unsolved Problem
- Each app has its own URL which corresponds to the site where it was loaded. The RP needs to know which app are loaded in order to redirect the request to the app for authentication.
- TBD on how the user gets control back to the app that called it.
- In OIDC the AuthN Request goes from the RP to the OP, presumably as a redirected HTTPS GET from the user agent, which is captured by the Web App. Since the packet was encrypted for the OP, how can the Web App decrypt the data?
Hybrid App Solutions
- The app works with a website that can present information about user choices at all times.
- For an example, in the solid project, a user stores personal data in "pods" (personal online data stores) hosted wherever the user desires.
Unsolved Problem
- Who pays for hosting the PODS
- TBD on how control flows from the RP to the app and back to the user.