社会认证流程

时间:2016-07-24 13:51:33

标签: authentication oauth-2.0 social linkedin-api

我有一个使用电子邮件和用户注册的应用程序。密码。我正在尝试制定添加社交认证提供程序的流程。

作为使用LinkedIn的一个例子,登录&注册过程看起来都相同:

int main( void )
{

 int choice;

do
 {
   printf("\n");
   printf("\n");
   printf("------ Menu ------------\n");
   printf("1) Find the maximum value in a set of numbers\n");
   printf("2) Print the sum of a list of values. \n");
   printf("3) Simulate many rolls of a standard dice.\n");

 choice = -1;
 while (choice < 0 || choice > 3)
       {
        printf("Choice 0-14: ");
        scanf("%d", &choice);
       }

    switch (choice)
      {
       case 1:
       {
              int Numb;


              printf("Type the # of elements you want to compare to get the largest value: ");
              scanf("%d", &Numb);

              int Array[Numb];
              ^^^^^^^^^^^^^^^^ 

              for(x=0;x<Numb;++x)
                 {
                  printf("Number %d is : ", x+1);
                  scanf("%d", &Array[x] );
                 }
              int Max = ArrayMax(Array, Numb);
              printf("The largest value is %d", Max);
              break;
      }

      //...
  1. 这是最适合的流程吗?
  2. 创建用户时,如何处理用户表中的密码?用户稍后希望使用他的电子邮件&amp;密码而不是LinkedIn。
  3. Twitter不提供对电子邮件的访问权限,因此无法遵循上述流程。

1 个答案:

答案 0 :(得分:1)

您可以使用相关的社交帐户关系来解决这个问题

这是最合适的流量吗?

  • 是的,这是最常见的,但要采用许多提供,你可以这样做,当用户创建帐户(使用任何进程密码或社交提供商),然后你可以存储像loginTypes(Pwd,Twitter,FB)等信息,它是像数组

创建用户时,如何处理用户表中的密码?用户稍后希望使用他的电子邮件&amp;密码而不是LinkedIn。

  • 您可以通过为用户提供设置密码的选项来支持,然后更新登录类型以包含密码作为其中一种类型

因此,当用户尝试使用密码登录时,您可以通过电子邮件找到该帐户并查看是否在登录类型中添加了密码,如果是,则继续进行密码检查,否则拒绝

Twitter不提供对电子邮件的访问权限,因此无法遵循上述流程。

您可以存储在DB中为用户返回的Twitter唯一ID,并将其用于下次检查

希望澄清你!

相关问题