开发者社区> 问答> 正文

如何在C#的WINFORM中获取钉钉的OAUTH登陆二维码

在C#的WINFORM中是否有API可以直接获取钉钉的OATH登陆二维码?

或者说如何在C#的WINFORM中获取钉钉的OAUTH登陆二维码

提出这个问题,这是因为C#的Webbrowser默认使用IE内核,如果试图在C#的Webbrowser中通过以下URL问钉钉提供的页面登录授权访问时会报js错误
https://login.dingtalk.com/oauth2/auth?
redirect_uri=https%3A%2F%2Fwww.aaaaa.com%2Fa%2Fb
&response_type=code
&client_id=dingbbbbbbb
&scope=openid corpid
&state=dddd
&prompt=consent

展开
收起
游客xdf4jlqy5xcag 2024-03-19 10:37:19 99 0
1 条回答
写回答
取消 提交回答
  • C# WinForm 应用程序中无法直接使用内置的 WebBrowser 控件获取钉钉 OAuth 登录二维码,因为 IE 内核存在兼容性问题。解决方法是不依赖 WebBrowser 控件,而是采用自定义的 HttpClient 或第三方网络库(如 CefSharp,它提供了一个基于 Chromium 的浏览器控件)来请求和展示登录界面。

    一般做法是:

    • 使用 C# 发起 GET 请求到 DingTalk OAuth 授权地址,并将响应结果导向本地一个专门用来展示二维码的窗口或者控件。
    • 用户扫码后,在回调地址(redirect_uri)接收到授权码(code)。
    • 使用获得的 code 向钉钉 API 请求 access_token 和相关用户信息。
    2024-03-19 15:46:48
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载