OAuth 中的 OOB 是啥?

Posted

技术标签:

【中文标题】OAuth 中的 OOB 是啥?【英文标题】:What is OOB in OAuth?OAuth 中的 OOB 是什么? 【发布时间】:2012-11-11 10:19:03 【问题描述】:

我才刚刚开始探索 OAuth 是什么,我对相关术语几乎一无所知。 在一个 php 代码 sn-p 中,我看到了:

// Callback can either be 'oob' or a url

$callback='oob';

我想知道 oob 是什么?

【问题讨论】:

我的猜测是“带外”。这意味着令牌将使用 OAuth 范围之外的方法进行传输。 【参考方案1】:

oob 通常代表“带外”。我假设这是为了支持通过未指定方法来的 OAuth 响应。

【讨论】:

【参考方案2】:

OOB(“带外”)是 OAuth 流程的传统 3 步流程(称为 3-Legged-OAuth)的替代方案。授予消费者访问权限后,用户不会被重定向,而是向用户显示一个代码,他需要在消费者应用程序中手动输入该代码。下面的步骤 2b 概述了不同之处。

OAuth1a 流程

第 1 步:获取可用于访问用户授权 URL 的短暂 request_token

第 2 步:使用request_token 访问并向用户显示用户授权 URL。用户将看到一个可以接受或拒绝访问的屏幕;典型的“您想代表您授予 App ABC 访问权限吗?”。

步骤 2a(回调 URL):如果提供了 callback_url,用户将被重定向到该回调 URL。该 URL 将包含参数 oauth_verifier,其中包含第 3 步所需的代码。

步骤 2b(回调为 oob:如果 callback_url 设置为 oob,则不会重定向用户。相反,oauth_verifier 代码会显示给用户。这必须由提供者实施。用户可以在消费者应用程序(通常是移动应用程序或任何其他非基于浏览器的应用程序)中使用此代码继续执行第 3 步。

第 3 步:oauth_verifier 代码(和请求令牌)用于获取长期存在的access_token。消费者现在可以在他的 OAuth 调用中使用此令牌调用提供者的 (REST)-API(请求仍然需要其他 OAuth 参数并且需要签名等)。

更多信息:

Pin based authorization with Twitter API

OAuth1a core specification - Request URLs

【讨论】:

以上是关于OAuth 中的 OOB 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

OAuth 中的“离线”访问是啥意思?

使用 Spring Security 的 OAuth 2.0 中的 resourceId 是啥意思

OAuth 2 中的不记名令牌和 token_type 是啥?

Google OAuth API 验证的“验证要求例外”中的“单账户 SMTP 插件”是啥?

这个“if”分支中的“out”关键字的目的是啥(用于 WebMatrix 的 OAuth“Starter Site”模板)? [复制]

python 随机森林中的OOB