react-native - Expo AuthSession 只有一半工作......将获取代码但在获得令牌后不会重定向
问题描述
您好,我正在 Expo 中构建一个测试应用程序并尝试登录以取回令牌以在我的工作区中使用 Slack 应用程序。总而言之,我可以进行一次调用以获取代码以进一步验证并获取令牌,这又回到了我的应用程序中。但是,在第二次调用获取我的令牌时,我看到生成了令牌,但我无法将其重定向回我的应用程序。
fetchTokenAuthA = async () => {
const redirect_uri = AuthSession.getRedirectUrl()
const responseA = await AuthSession.startAsync({
authUrl:
`https://slack.com/oauth/authorize?` +
`&client_id=${client_id}` +
`&scope=admin` +
`&redirect_uri=${encodeURIComponent(redirect_uri)}`
})
const code = responseA.params.code
const responseB = await AuthSession.startAsync({
authUrl:
`https://slack.com/api/oauth.access?` +
`&client_id=${client_id}` +
`&client_secret=${client_secret}` +
`&code=${encodeURIComponent(code)}` +
`&redirect_uri=${encodeURIComponent(redirect_uri)}`
})
this.setState({ responseB })
}
如果我记录 responseA,我会看到包含发送到嵌套 URL 以获取令牌所需的代码的对象。所以...
responseB 启动并推送到下一个 slack auth 站点,然后我看到来自 slack 的对象的回复,这在我的屏幕上是成功的,但我被困在 slack 的网站上。如果我倒退或取消,我会得到一个状态取消对象。
不知道如何返回我在第二个 AuthSession 上得到的对象。
解决方案
推荐阅读
- flutter - Flutter项目中的包冲突
- amazon-web-services - AWS EC2 预留实例
- python - 如何防止 Django 管理员删除确认视图显示所有要删除的对象?
- reactjs - 为反应折叠组件添加默认打开逻辑
- php - 如何为“Illuminate\Support\ItemNotFoundException”返回自定义响应?
- angular - Angular typescript 在将子类实现为抽象类时给出参考错误
- sql - 根据 SQL Server 数据库中的条件,使用 OPENQUERY 将数据从 Oracle 链接服务器加载到 SQL Server
- apexcharts - ApexCharts:填补 2 个连续区域图之间的空白
- apache-spark - Apache Spark/scala:在退出前处理 yarn kill 来执行动作(清理资源,保存状态)
- java - 给定驱动器的工作目录是什么?