Mobile Flows
Flow (with IDP list in web browser)
DiGA-App
initiates auth flow via OpenID ConnectAuthorization Code
against azuma mimoto. This opens a web browser and displays the list of available IDPs.- User selects an IDP and clicks on 'login', which opens the
IDP-App
. This is our mock application (which is configured with Deep Link: https://mimoto-gematik-mock.azuma-health.tech/idp/par) - User clicks on 'login' in
IDP-App
, which opens the requested redirect url (in our example: https://mimoto-example-app.azuma-health.tech/app/ce), which in turn opens theDiGA-App
- The
Deep Link Url
inDiGA-App
opens the exchange activity, which exchanges the received code via azuma mimoto for a new code, which can be used to finalize the process. The actual API uses the original received redirect url and returns a valid redirect url, as expected by AppAuth to continue the process. DiGA-App
uses the returned redirect url to finalize the auth flow via AppAuth by exchanging the received codes forAccess Token
andID Token
.- At this point, you could exchange
Access Token
andID Token
for your own tokens/session/....
See for more details about the exchange API.
Flow (native IDP list)
DiGA-App
retrieves the list of available IDPs and displays them natively. See for the idp-API.- Once the user selects the target IDP,
DiGA-App
initiates auth flow via OpenID ConnectAuthorization Code
against azuma mimoto for the selected IDP. - azuma mimoto returns an URL, that needs to be opened in the platform. This opens the authenticator app of the selected IDP if installed. If not installed, the IDP landing page will be opened in the default browser.
- User clicks on 'login' in
IDP-App
, which opens the requested redirect url (in our example: https://mimoto-example-app.azuma-health.tech/app/ce), which in turn opens theDiGA-App
(as it is aDeep Link Url
(Android App Link / iOS Universal Link) for that app) - The
Deep Link Url
contains code and state that need to be send to azuma mimoto to exchange for a new code that can be used to finalize the flow started in step 2. See for more details about the exchange API. - Once the exchange call is completed,
DiGA-App
can finalize the flow and retrieveAccess Token
andID Token
, where onlyID Token
is currently relevant. - At this point, you could exchange
Access Token
andID Token
for your own tokens/session/....
Alternative Flow
If you have a full backend integration against azuma mimoto, which you can start OpenID Connect Authorization Code
against, you can
- initiate the flow against your own backend
- exchange code via your own backend (which in turn exchanges with azuma mimoto)