首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby的rest客户端是如何为OAuth 2工作的?

Ruby的rest客户端是如何为OAuth 2工作的?
EN

Stack Overflow用户
提问于 2018-10-11 10:12:35
回答 1查看 1K关注 0票数 1

我正在尝试实现一个OAuth 2注册为一个角6,使用gitLab Api。它的网站有一些代码来获取基于Ruby的access token。如果有人让我知道如何获得这个access token,我会非常高兴的。

OAtuth 2用于gitLab说我可以得到codeYOUR_UNIQUE_STATE_HASH的秘密。我设法听从了他们的指示。

为了获得access token,gitLab发布了一些Rubi代码,我无法理解,也不知道如何在angular中实现。

以下是说明:

一旦有了授权代码,就可以使用代码请求access_token,这样就可以使用任何HTTP。在下面的示例中,我们使用的是Ruby的rest客户机:

代码语言:javascript
运行
复制
parameters = 'client_id=APP_ID&client_secret=APP_SECRET&code=RETURNED_CODE&grant_type=authorization_code&redirect_uri=REDIRECT_URI'
RestClient.post 'http://gitlab.example.com/oauth/token', parameters

# The response will be
{
 "access_token": "de6780bc506a0446309bd9362820ba8aed28aa506c71eedbe1c5c4f9dd350e54",
 "token_type": "bearer",
 "expires_in": 7200,
 "refresh_token": "8257e65c97202ed1726cf9571600918f3bffb2544b26e00a61df9897668c33a1"
}

如果有人能解释这段代码,我会很好的。

EN

回答 1

Stack Overflow用户

发布于 2018-10-11 10:49:55

这个片段基本上已经表示出来了。您需要使用您的客户端id和客户端机密来生成访问令牌(或承载令牌),代码是在成功的用户auth之后返回的--这个访问令牌基本上是您将代表用户使用到gitlab的令牌。

OAuth确保客户端代码不能被未经授权的攻击者使用,方法是确保您作为开发人员使用客户端id和client_secret请求它。

RestClient.post 'http://gitlab.example.com/oauth/token', parameters将发送POST请求,然后Gitlab将返回带有访问令牌的响应及其到期时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52757514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档