我正在尝试实现一个OAuth 2注册为一个角6,使用gitLab Api。它的网站有一些代码来获取基于Ruby的access token
。如果有人让我知道如何获得这个access token
,我会非常高兴的。
OAtuth 2用于gitLab说我可以得到code
和YOUR_UNIQUE_STATE_HASH
的秘密。我设法听从了他们的指示。
为了获得access token
,gitLab发布了一些Rubi代码,我无法理解,也不知道如何在angular中实现。
以下是说明:
一旦有了授权代码,就可以使用代码请求access_token,这样就可以使用任何HTTP。在下面的示例中,我们使用的是Ruby的rest客户机:
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"
}
如果有人能解释这段代码,我会很好的。
发布于 2018-10-11 10:49:55
这个片段基本上已经表示出来了。您需要使用您的客户端id和客户端机密来生成访问令牌(或承载令牌),代码是在成功的用户auth之后返回的--这个访问令牌基本上是您将代表用户使用到gitlab的令牌。
OAuth确保客户端代码不能被未经授权的攻击者使用,方法是确保您作为开发人员使用客户端id和client_secret请求它。
RestClient.post 'http://gitlab.example.com/oauth/token', parameters
将发送POST
请求,然后Gitlab将返回带有访问令牌的响应及其到期时间。
https://stackoverflow.com/questions/52757514
复制相似问题