gpt4 book ai didi

c# - 在 winform webbrowser 控件中使用 Google for OAuth

转载 作者:行者123 更新时间:2023-11-30 18:36:56 24 4
gpt4 key购买 nike

我想使用 C# winform 中内置的网络浏览器控件来验证使用 Google 的 OAuth 的用户。我能够找到的所有内容都要求用户在网络浏览器中完成登录过程以获取访问 token ,然后将该 token 粘贴到我的应用程序中。我如何才能自动获取该访问 token ,以便用户无需复制/粘贴?

最佳答案

乔恩,通常,Bearer token 作为 JSON 文档在 html 响应正文中发回。例如,来自规范。

  HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
"access_token":"mF_9.B5f-4.1JqM",
"token_type":"Bearer",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
}

如果是这种情况,您可以使用 WebBrowser.DocumentCompleted 事件获取响应,然后使用 JavaScriptSerializer 获取 JSON

JavaScriptSerializer jss = new JavaScriptSerializer();
String json = webbrowser.DocumentText
TokenResponse token = jss.Deserialize<TokenResponse>(json);


public class TokenResponse
{
public string access_token { get; set; }
public string token_type { get; set; }
public string expires_in { get; set; }
public string refresh_token { get; set; }
}

关于c# - 在 winform webbrowser 控件中使用 Google for OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com