授权代码流,将代码从移动应用程序发送到REST API

吉姆普·卢西安·爱德华

我正在构建一个使用REST API来处理所有逻辑的移动应用程序(可能还有一个网站)。

话虽如此,REST API本身应该调用第三方REST API(Spotify一个)来处理应用程序/网站的逻辑。

因此,基本上,用户应该使用其Spotify帐户登录到我的应用程序/网站,而我的API应该调用来Spotify Web Api使用其访问令牌检索用户数据,然后将它们发送回应用程序/网站。

现在,我已经花了很多时间在这里研究有关身份验证的Spotify指南,看起来Authorization Code Flow应该适合我的用例。

我绝对需要调用/authorize端点来code从我的应用程序中检索,因为我需要为此进行用户交互。在那之后,我确实得到了**code**我应该access_token与和交换的refresh_token

但是正如我所说,调用Spotify API的不是应用程序本身,而是我的API。因此,从理论上讲,我应该将接收code到的数据发送到我的API,并让他处理检索和刷新access_tokenand refresh_token

所以我的问题是这是否有意义?是否可以将其code从应用发送到我的api?不确定是否很清楚,所以我将附上我打算做什么的图表。

在此处输入图片说明

Also probably after receiving the code, I would send back my own token to the app to be used with each future request (somehow similar with what you would do when you handle authorization with Facebook or other socials)

Gary Archer

Hmm - some assumptions below, but I would aim to use standard flows. Some solutions are not possible in a good way though.

BUSINESS SOLUTION

Are you trying to build an app that combines the user's Spotify data with your own data for the user?

ARCHITECTURE TO AIM FOR

Your own UIs and APIs should use tokens issued by you and not Spotify. Only use Spotify tokens when you need to access Spotify resources. This leads to simple and reliable code.

STANDARD OPTION 1

This is based on you being in control of data from multiple sources:

  • You should have your own login and token issuing system. UI first logs into your app, which enables it to call your API with a token.

  • When you want to access Spotify you need to redirect the user again. The user can then consent to you using Spotify resources in your app, after which your web / mobile UIs get a Spotify token and can call Spotify APIs.

STANDARD OPTION 2

This is based on allowing the user to sign in with a familiar credential, which works via a federated login:

  • User needs to login
  • Your app redirects to your Authorization Server
  • There is a second redirect to Spotify
  • User logs in at Spotify
  • Spotify posts a token to your Authorization Server
  • Your Authorization Server posts its own token to your mobile app

Meanwhile your Web API has its own connection to Spotify that uses the Client Credentials Flow.

DOUBLE HOPPING CODES / TOKENS

这不是不安全的,但是会增加很多复杂性,并且不是标准的。您将需要维护某种API会话,每位用户使用2种令牌,访问令牌过期将是一个可怕的领域。

移动流量

对于移动应用程序,您应该使用授权码流(PKCE)-我的博客文章中包含有关消息和用户体验的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过POST将JSON格式的作业应用程序发送到REST API:获取SSL异常

来自分类Dev

如何将数据从Xamarin.Forms应用程序发送到Web API

来自分类Dev

跟踪哪个应用程序将数据发送到Web API

来自分类Dev

将图像从Ios应用程序发送到Web API服务

来自分类Dev

从本机应用程序发送到HTTPS API的安全密码

来自分类Dev

VBA通过POST方法将二进制代码文件发送到API

来自分类Dev

将sos消息发送到选定联系人的移动应用程序的C#代码

来自分类Dev

将sos消息发送到选定联系人的移动应用程序的C#代码

来自分类Dev

想了解OAuth代码流,其中应用程序代表用户将Access_Token传递给API以获取资源

来自分类Dev

将DOCX发送到DocuSign REST API时出错

来自分类Dev

将Rails Web应用程序的用户会话与用于移动应用程序的Rails API的授权令牌结合使用。

来自分类Dev

如何在ASP API中生成PDF并将其发送到我的Cordova应用程序?

来自分类Dev

如何在ASP API中生成PDF并将其发送到我的Cordova应用程序?

来自分类Dev

如何通过REST API将当前用户从Angular应用发送到Firebase实时数据库规则

来自分类Dev

将授权请求发送到Twitter API以获取关注者ID

来自分类Dev

为什么将授权JWT发送到Web API时失败?

来自分类Dev

将文件发送到api中

来自分类Dev

使用JavaScript将“%”发送到API

来自分类Dev

Angular,将json发送到API

来自分类Dev

适用于使用Facebook进行授权的移动应用程序的Laravel 5 API授权

来自分类Dev

如何在春季JPA应用程序中集成Paypal Rest API。错误代码400

来自分类Dev

Facebook与后端REST API的移动应用程序集成

来自分类Dev

我如何使用流API将Twitter上的数据发送到CSV中

来自分类Dev

Android Camera2 API 将流缓冲区发送到本机函数

来自分类Dev

使用 onesignal REST API 向存储在 DB 中的设备令牌发送移动应用程序推送通知

来自分类Dev

Rails设计应用程序以为移动应用程序创建REST API

来自分类Dev

针对Web应用程序和移动应用程序的REST API身份验证

来自分类Dev

使用python请求将XML文件发送到Rest API

来自分类常见问题

如何使用Java将1到许多参数发送到Rest Api

Related 相关文章

  1. 1

    通过POST将JSON格式的作业应用程序发送到REST API:获取SSL异常

  2. 2

    如何将数据从Xamarin.Forms应用程序发送到Web API

  3. 3

    跟踪哪个应用程序将数据发送到Web API

  4. 4

    将图像从Ios应用程序发送到Web API服务

  5. 5

    从本机应用程序发送到HTTPS API的安全密码

  6. 6

    VBA通过POST方法将二进制代码文件发送到API

  7. 7

    将sos消息发送到选定联系人的移动应用程序的C#代码

  8. 8

    将sos消息发送到选定联系人的移动应用程序的C#代码

  9. 9

    想了解OAuth代码流,其中应用程序代表用户将Access_Token传递给API以获取资源

  10. 10

    将DOCX发送到DocuSign REST API时出错

  11. 11

    将Rails Web应用程序的用户会话与用于移动应用程序的Rails API的授权令牌结合使用。

  12. 12

    如何在ASP API中生成PDF并将其发送到我的Cordova应用程序?

  13. 13

    如何在ASP API中生成PDF并将其发送到我的Cordova应用程序?

  14. 14

    如何通过REST API将当前用户从Angular应用发送到Firebase实时数据库规则

  15. 15

    将授权请求发送到Twitter API以获取关注者ID

  16. 16

    为什么将授权JWT发送到Web API时失败?

  17. 17

    将文件发送到api中

  18. 18

    使用JavaScript将“%”发送到API

  19. 19

    Angular,将json发送到API

  20. 20

    适用于使用Facebook进行授权的移动应用程序的Laravel 5 API授权

  21. 21

    如何在春季JPA应用程序中集成Paypal Rest API。错误代码400

  22. 22

    Facebook与后端REST API的移动应用程序集成

  23. 23

    我如何使用流API将Twitter上的数据发送到CSV中

  24. 24

    Android Camera2 API 将流缓冲区发送到本机函数

  25. 25

    使用 onesignal REST API 向存储在 DB 中的设备令牌发送移动应用程序推送通知

  26. 26

    Rails设计应用程序以为移动应用程序创建REST API

  27. 27

    针对Web应用程序和移动应用程序的REST API身份验证

  28. 28

    使用python请求将XML文件发送到Rest API

  29. 29

    如何使用Java将1到许多参数发送到Rest Api

热门标签

归档