【问题标题】:How to request access code & token C# Oath2.0如何请求访问码和令牌 C# Oauth2.0
【发布时间】:2020-11-17 21:47:54
【问题描述】:

示例网址:https://test.test.com/services/data,\n

在邮递员中,当我点击 get new access token 时,

当我单击请求令牌时,我会弹出一个窗口以使用用户名、密码登录。然后在 1 次 OTP 验证后不再需要它。最后使用令牌并使用原始正文数据,我获取 url 并返回 200 状态代码。如何以编程方式在 c# 中执行 request token 部分?

就我获得 Oath2.0 而言,它会获取授权代码的 URL=> 使用该代码获取访问令牌=> 最后使用带有令牌的 post url。

当我在邮递员中单击代码时,它会为 C# - RestSharp 生成代码。现在这是令牌已经存在的情况。请求令牌部分也有相同的东西吗?

使用生成的代码,我可以看到如下内容:

request.AddHeader("Cookie", "BrowserId=RtFiu8ysE; BrowserId_sec=RtFiu8y; rememberUn=true; login=c3Jpc3JpLm; com.xxxxxxxx.LocaleInfo=us; oinfo=xxxxxxxxx=; autocomplete=1; oid=xxxxxxxxx; webact=%7B%22l_vdays%22%3A1%2C%22l_visit%22%3A1xxxxxxxxx3%2C%22session%22%3Axxxxxxxxx448%2C%22l_search%22%3A%22%22%2C%22l_dtype%22%3A%22%22%2C%22l_page%22%3A%22SFDC%3Aus%3Alogin%3Adeveloper%22%2C%22counter%22%3A3%2C%22pv%22%3A1%2C%22f_visit%22%3Axxxxxxxxx682%2C%22seg%22%3A%22non-customer%3Aus%22%2C%22developer%22%3Axxxxxxxxx43%7D; sfdc_lv2=xxxxxxxxxnx/Slxxxxxxxxxg+aoxxxxxxxxxJmq/6lDwolM=");

那么对于 browserId、login、oinfo、oid 等这些值,我将如何在 c# 中获取?

基本上,这是如何工作的?像获取身份验证代码一样,我需要进行 httprequest 吗?我应该先点击哪个网址?回调或授权? 根据他们的文档:他们说要获取:https://xxx.xxx.com/services/oauth2/authorize? client_id=xxxxxxx& redirect_uri=https://www.xxxxxx.com/oauth2/callback& response_type=code 然后

https://www.xxxxx.com/oauth2/callback? code=tesauthcodexxxx

然后

POST /services/oauth2/token HTTP/1.1 Host: xxxxx.xxxxxxxx.com Content-length: 307 Content-type: application/x-www-form-urlencoded grant_type=authorization_code& code=xxxxxxx& client_id=xxxxxxx& client_secret=*******& redirect_uri=https://www.xxxxxx.com/oauth2/callback

我查看了许多使用 Oath2.0 的帖子,但到处都说他们已经拥有令牌 [但是如何获取授权码]。

我是 Oath2.0 的新手。我知道我在理解概念方面缺少很多东西,但有时交付与新人有关。很抱歉发了这么长的帖子。

【问题讨论】:

    标签: c# rest oauth-2.0 authorization postman


    【解决方案1】:

    根据身份验证服务器的支持(但我假设它们完全符合 OATH2),请查看 C# 的 The IdentityModel Package。这将为您节省大量尝试自己重新发明轮子的时间。使用给定的文档,您可以在几分钟内启动并运行它。

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 2013-06-24
      • 2011-09-19
      • 2013-04-30
      • 2019-11-27
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多