Skip to main content
added 47 characters in body
Source Link

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points. As well we have different client - mobile native applications, web application.

The usual registration flow looks for the client like this:

  1. Ask user for email
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Ask user for his display name
  5. Update data (Rest)
  6. Register email (Rest)

And future possible calls:

  1. Verify email
  2. Link social account to user

With the Facebook signup:

  1. Ask user to login to FB
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Link FB (Rest)
  5. Register and verify FB user email (Rest)
  6. Update user name based on FB data (Rest)

But all these steps are possible to do on backend. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients:

  1. Ask user for FB login
  2. New user with FB (proposed Rest)
  3. BE is doing register/link verified email/update user data/authorise

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2"Probably most complex scenarios in future updates" from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points. As well we have different client - mobile native applications, web application.

The usual registration flow looks for the client like this:

  1. Ask user for email
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Ask user for his display name
  5. Update data (Rest)
  6. Register email (Rest)

And future possible calls:

  1. Verify email
  2. Link social account to user

With the Facebook signup:

  1. Ask user to login to FB
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Link FB (Rest)
  5. Register and verify FB user email (Rest)
  6. Update user name based on FB data (Rest)

But all these steps are possible to do on backend. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients:

  1. Ask user for FB login
  2. New user with FB (proposed Rest)
  3. BE is doing register/link verified email/update user data/authorise

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points. As well we have different client - mobile native applications, web application.

The usual registration flow looks for the client like this:

  1. Ask user for email
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Ask user for his display name
  5. Update data (Rest)
  6. Register email (Rest)

And future possible calls:

  1. Verify email
  2. Link social account to user

With the Facebook signup:

  1. Ask user to login to FB
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Link FB (Rest)
  5. Register and verify FB user email (Rest)
  6. Update user name based on FB data (Rest)

But all these steps are possible to do on backend. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients:

  1. Ask user for FB login
  2. New user with FB (proposed Rest)
  3. BE is doing register/link verified email/update user data/authorise

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point "Probably most complex scenarios in future updates" from against reasons.

added more specific scenario
Source Link

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points. As well we have different client - mobile native applications, web application.

In case ofThe usual registration flow looks for the social sign up some of steps should be skipped or simplified. For example, withclient like this:

  1. Ask user for email
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Ask user for his display name
  5. Update data (Rest)
  6. Register email (Rest)

And future possible calls:

  1. Verify email
  2. Link social account to user

With the Facebook signup we could already skip email registration and verification step (we ask email permission form user), linking the social account and pre-fill user displayed name:

  1. Ask user to login to FB
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Link FB (Rest)
  5. Register and verify FB user email (Rest)
  6. Update user name based on FB data (Rest)

But all these steps are possible to do on backend. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients.:

  1. Ask user for FB login
  2. New user with FB (proposed Rest)
  3. BE is doing register/link verified email/update user data/authorise

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points.

In case of the social sign up some of steps should be skipped or simplified. For example, with Facebook signup we could already skip email registration and verification step (we ask email permission form user), linking the social account and pre-fill user displayed name. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients.

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points. As well we have different client - mobile native applications, web application.

The usual registration flow looks for the client like this:

  1. Ask user for email
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Ask user for his display name
  5. Update data (Rest)
  6. Register email (Rest)

And future possible calls:

  1. Verify email
  2. Link social account to user

With the Facebook signup:

  1. Ask user to login to FB
  2. Create account (Rest)
  3. Authorise (Rest)
  4. Link FB (Rest)
  5. Register and verify FB user email (Rest)
  6. Update user name based on FB data (Rest)

But all these steps are possible to do on backend. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients:

  1. Ask user for FB login
  2. New user with FB (proposed Rest)
  3. BE is doing register/link verified email/update user data/authorise

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

fix layout
Source Link
Kilian Foth
  • 111k
  • 45
  • 302
  • 323

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points.

In case of the social sign up some of steps should be skipped or simplified. For example, with Facebook signup we could already skip email registration and verification step (we ask email permission form user), linking the social account and pre-fill user displayed name. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients.

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points.

In case of the social sign up some of steps should be skipped or simplified. For example, with Facebook signup we could already skip email registration and verification step (we ask email permission form user), linking the social account and pre-fill user displayed name. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients.

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

I want to bring the discussion that started in our teams and get your opinion about it.

Assume we have an user account which could have different credentials for authentication and associated email to recover. An user has possibility to do signup with an email or use his social profile to complete signup process.

As an Rest API from the backend to client looks like:

  1. Create account
  2. Authorise
  3. Update user data
  4. Link social account
  5. Register email
  6. Verify email

In addition our BE is distributed and divided between several services/servers/clusters. So different calls are related to different end points.

In case of the social sign up some of steps should be skipped or simplified. For example, with Facebook signup we could already skip email registration and verification step (we ask email permission form user), linking the social account and pre-fill user displayed name. So we proposed to have another end point which will hide/combine different calls on BE and return whole process result to the clients.

The pros for this approach:

  1. No more duplication of functionality between clients
  2. Speed up the networking and user experience

The cons for this approach:

  1. Additional work for backend
  2. Probably most complex scenarios in future updates

I would like to get your opinion or experience with this situation. Especially if you already experienced point #2 from against reasons.

Source Link
Loading