Authentication React本机Instagram显式身份验证

Authentication React本机Instagram显式身份验证,authentication,react-native,instagram,Authentication,React Native,Instagram,我正在创建一个react本机应用程序,并在其中添加instagram身份验证。我希望用户能够“添加”他们的instagram帐户到他们的主用户帐户,所以我有一个“连接你的instagram”按钮 我在我的网络应用程序上工作很好。。流程如下: 用户单击“连接instagram”按钮,将打开一个新窗口并指向https://instagram.com/oauth/authorize/?client_id=xxxx 胡说八道 用户通过code参数进行身份验证并将instagram重定向到myREDIRE

我正在创建一个react本机应用程序,并在其中添加instagram身份验证。我希望用户能够“添加”他们的instagram帐户到他们的主用户帐户,所以我有一个“连接你的instagram”按钮

我在我的网络应用程序上工作很好。。流程如下:

  • 用户单击“连接instagram”按钮,将打开一个新窗口并指向
    https://instagram.com/oauth/authorize/?client_id=xxxx 胡说八道
  • 用户通过
    code
    参数进行身份验证并将instagram重定向到my
    REDIRECT\u URI
  • 我的API服务器接受
    code
    参数,并向instagram发送一个包含所有凭据的post请求
  • Instagram验证此信息并向我提供用户
    访问\u令牌
  • 有人能告诉我这在应用程序中是如何工作的吗

    我的重定向URI应该是什么?服务器api


    它与我的web应用程序的流程相同吗?如果是这样,我如何在窗口关闭后让用户返回我的应用程序。我的应用程序如何知道用户现在拥有访问令牌?

    对于本机应用程序,流程与您描述的web应用程序类似

    描述了当您需要对移动应用程序的用户进行身份验证,然后代表该用户访问API时应该发生的情况

    总结
    • 您将继续使用授权代码授权
    • 如果所讨论的授权服务器支持它,您应该使用PKCE()来增加安全性
    • 您需要选择如何在本机应用程序中接收代码您可以使用自定义方案
      com.myinstaapp:
      、带有
      http:
      方案的本地web服务器或一些其他选项
      ;(有关其他备选方案,请参见上的回答)
    • 您将本地应用程序获得的代码与访问令牌进行交换,交换方式与web应用程序类似;(客户端机密的使用除外,这些机密通常对本机应用程序没有用处,因为它们很容易泄露)
    补充资料
    Auth0场景中描述的流假设身份验证将通过符合OpenID Connect的流进行,此外,您将获得OAuth2指定的访问令牌。我对Instagram不太熟悉,所以如果他们只支持OAuth2,那部分当然不适用

    我不能肯定地说这是“最好”的方式,但我认为在这种情况下,您的Web应用程序应该是一个oauth提供商,使用instagram作为授权源(这意味着应用程序永远不知道它直接使用instagram)。因此,您的应用程序将使用您的API初始化oauth流,API将执行instagram流,并向应用程序发出对您的API有效的令牌。然后你的应用程序需要通过API调用instagram。