Users should be able to authorize other apps using BrightID.
Lets say app A
wants to use BrightID as its authentication method or just wants to allow its users to connect their BrightID to the app. We need to support 3 scenarios:
1- app A
on an another device like PC and BrightID on phone
2- app A
as a mobile app on same device as BrightID
3- app A
as a web-based app on same device as BrightID
We can use a solution same as what we are doing for making connections now:
1- app A
can send a message to BrightID using qr-code(scenario 1) or Deep Link(scenarios 2,3) and also upload data(avatar, name of the app, ...) as an encrypted message to a server same as what we have for connections now
More details about Deep Links:
https://en.wikipedia.org/wiki/Mobile_deep_linking
Deep link for BrightID could be something like this:
BrightID://authorize?data=encrypted_data
Both IOS and Android support Deep Links and we can use something like this to implement it on React:
https://reactnavigation.org/docs/en/deep-linking.html
2- BrightID will sign the message and upload data(avatar, name, score, ...) to the server
3- app A
can use web sockets or retry again and again to get the data and check the signature to validate the user