Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

We're going to add a feature that will allow apps to work without the user needing to create or enter a password.

...


POST/v3/auth/email/signIn
auth
no authentication, public endpoint
body
{ "email": "<email.address>", "study": "<studyId>", "password": "<password>", "token" : "<token>" }
returns200with user session

412with user session

404
{ "statusCode": 404, "entityClass": "Account", "message": "Account not found.", "type": "EntityNotFoundException" }


If the token has been issued, retrieve the user's identity and return a session. Optionally, if a password value has also been submitted, reset the password before returning the session.

...

methodDescription
requestEmailSignIn(SignIn signIn)
  1. If functionality disabled, throw EndpointNotFoundException
  2. If email present, throw RateLimitExceededException
  3. create token, store in Redis mapped to email, TTL 1 minute
  4. send email using study template to supplied email address
emailSignIn(CriteriaContext context, SignIn signIn)
  1. Retrieve token from Redis using email
  2. If email or token missing, or token doesn't match supplied token, throw 404
  3. Update password, if supplied
  4. Delete Redis entry
  5. Return a user session

...

Intent-Filter-Link- Specific to android, no SSL certificate required, the dillemma here is that a disambiguation page is brought up and the user can choose to bring up another app instead. (ie. chrome could be a suggestion to open our website)

Web Requirements 

...

 1. SSL certificate- This is so that your app and website can be tied together, no other application can be suggested once this step is in place

 2. 

...

./well-known/ directory needs to be hosted on your website and two special files that are recognized by android and ios devices

ex: https://mPower.com/.well-known/<file-name depends on ios/android>

...

-Because this file is only fetched once when the user first installs or upgrades the app, this file must be live on your website before your app is released. This also means that you can’t add new deep linking url patterns to your app until you push out a new app update to force users to refresh the file."

   

...

     

...

3.  You can match links using regex/direct paths/ or path prefixes for a response to get triggered. You can use only use URLs for ios, whereas android still allows for URI. 

URL:

https/mPower.com/...

URI:

...