React Native Instagram显式身份验证

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

我有这个在我的网络应用程序上工作正常..流程如下:

>用户点击“连接Instagram”按钮,会打开一个新窗口,并转到https://instagram.com/oauth/authorize/?client_id=xxxx blah blah
>用户通过CODE参数进行身份验证并使用重定向到我的REDIRECT_URI
>我的API服务器获取CODE参数并使用所有凭据向Instagram发送发布请求.
> Instagram验证此信息并向我提供用户ACCESS_TOKEN

有人可以告诉我这应该如何在应用程序中工作?

我的REDIRECT_URI应该是什么?服务器api?

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

最佳答案 使用本机应用程序,该流程与您为Web应用程序描述的流程类似.

Auth0 Mobile + API architecture scenario描述了当您需要为移动应用程序验证用户以及稍后代表该用户访问API时应该发生的情况.

摘要

>您将继续使用授权代码授予;
>如果有问题的授权服务器支持它,你应该使用PKCE(Proof Key for Code Exchange by OAuth Public Clients)来增加安全性;
>您需要选择如何在本机应用程序中接收代码;您可以使用自定义方案com.myinstaapp:,具有http:scheme或其他一些选项的本地Web服务器; (有关其他替代方案,请参阅OAuth redirect URI for native application的答案)
>您使用访问令牌交换本机应用程序获取的代码,其方式与您为Web应用程序执行的操作类似; (除了使用通常对本机应用程序无用的客户机密码,因为它们很容易泄露)

附加信息

Auth0方案中描述的流程假定通过OpenID Connect兼容流程进行身份验证,此外,您将获得OAuth2指定的访问令牌.我对Instagram并不过分熟悉,所以如果他们只支持OAuth2那部分当然不适用.

点赞