当前位置: 首页 > 知识库问答 >
问题:

OAuth2.0:为什么需要“授权代码”而只有令牌?

陆文博
2023-03-14

我的问题是:为什么这是流动?我想是出于安全原因,但我想不通。为什么实现是这样的,而不是在第一次调用(“/authorize”)之后立即获得访问令牌?

我们为什么需要这个代码?

共有1个答案

劳仲渊
2023-03-14

授权代码流适用于涉及3方的场景。

这些缔约方是:

>

  • 客户端

    希望从提供程序访问有关用户的信息。

    现在,您的应用程序对用户(将其浏览器重定向到/authorizeendpoint)说:

    嘿,用户,这是我的客户ID。请与提供商交谈,并允许他直接与我交谈。

    嘿供应商,我想使用这个应用程序,所以他们要求访问我的数据。给我一些代码,我把这些代码给应用程序。

    现在,您的应用程序已经有了授权代码,客户机和提供商已经知道了这一点。通过将这些数据交给提供商,您的应用程序现在可以证明,客户机允许它访问他的数据。提供商现在向您的(web)应用程序发放一个访问令牌,这样您的(web)应用程序就不必每次都重做这些步骤(至少在一段时间内)。

    在其他应用程序类型中,您的应用程序直接在客户端运行(例如iPhone/Android应用程序或Javascript客户端),中间步骤是多余的。

  •  类似资料:
    • 使用oAuth 2.0,在“授权代码”授权授予中,我首先调用“/授权”,获取代码,然后在对“/令牌”的调用中使用该代码来获取访问令牌。 我的问题:为什么这是流?我想这是出于安全原因,但我想不出来。为什么实现是这样的,而不是在第一次调用(“/authorize”)后立即获取访问令牌? 为什么我们需要这个代码?

    • 我们必须在我的客户项目中集成OAuth2.0授权代码授予。目前,该应用程序使用本地登录页面。我们需要删除该页面,并将未登录的用户重定向到AS登录页面,。在AS end成功登录后,我们将被重定向到配置的。此时,我的客户端应用程序将如何知道用户已在AS登录?如何在客户端维护会话?另外,我需要用和访问令牌交换auth代码,并将其用于后续的服务器API调用。那么如何实现这一点并将令牌作为标头发送呢? 应用

    • 我正在学习谷歌云存储,JSON api,简单上传: https://cloud.google.com/storage/docs/json_api/v1/how-tos/simple-upload 示例显示发送一篇如下所示的帖子: 然后我创建了一个“服务帐户”应用编程接口。 但是我如何从我新创建的服务帐户中找到要使用的?

    • 本文向大家介绍HTML5 为什么只需要写 ?相关面试题,主要包含被问及HTML5 为什么只需要写 ?时的应答技巧和注意事项,需要的朋友参考一下 1) HTML5不基于SGML,因此不需要对DTD进行引用,但是需要DOCTYPE来规范浏览器的行为(让浏览器按照他们应该的方式来运行); 2) HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型;

    • 我目前正在处理一组应用程序,这些应用程序运行在两个独立但等效的环境中(称为和)。我一直在使用OAuth 2.0进行授权,当我从OAuth服务请求访问令牌后收到响应时(我正在通过Postman进行请求),我会从和得到如下响应: 据我所知,我相信这个< code >“token _ type”:“Bearer”意味着当我向我的应用程序发送< code>access_token时,我需要这样做: 通过前

    • 我正在创建一个android应用程序,使用youtube API播放,然后是最喜欢的YouTubeVideos。我已经(我想是正确的)使用AccountManager和oauth2为用户获得了Auth令牌。 我想知道的是,下一步该去哪里?我想创建一个YouTube的实例,这样我就可以喜欢这些视频。在看了构造函数后,我不知道如何将访问令牌合并到其中。我有我的Client_ID和Client_Secr