C# OAuth2RESTAPI.NET标准类-重定向URL?

C# OAuth2RESTAPI.NET标准类-重定向URL?,c#,.net,oauth-2.0,C#,.net,Oauth 2.0,我正在创建一个.NET标准类,该类将为公共可用的API提供REST API连接信息。考虑到这是一个.NET类-用于不同的前端,其中一些前端可能没有“重定向URL”来捕获通过使用给定的公共REST API进行授权而返回的访问令牌: 有没有一种方法可以在没有重定向URL的情况下从公共RESTAPI获取访问令牌?(例如,它可能是用于前端的Windows控制台应用程序-不一定是web应用程序) 有人有一个示例类吗?我本以为这是一个直接的类,可用作构建块,但在GitHub上找不到任何在简单的.NET标准类

我正在创建一个.NET标准类,该类将为公共可用的API提供REST API连接信息。考虑到这是一个.NET类-用于不同的前端,其中一些前端可能没有“重定向URL”来捕获通过使用给定的公共REST API进行授权而返回的访问令牌

  • 有没有一种方法可以在没有重定向URL的情况下从公共RESTAPI获取访问令牌?(例如,它可能是用于前端的Windows控制台应用程序-不一定是web应用程序)
  • 有人有一个示例类吗?我本以为这是一个直接的类,可用作构建块,但在GitHub上找不到任何在简单的.NET标准类中表示基本OAUTH2工作流的东西。(我不介意建立我自己的——一旦我得到了#1的答案,这似乎很简单)

  • 我目前正在使用Postman进行实验,但现在准备构建一些.NET代码。。。注意:我不想构建自己的OAUTH服务器-只需连接到公共REST API即可

    无论环境如何,OAuth2始终需要重定向url。对于非web应用程序,处理此问题的方法是使用自定义url方案和陷阱,或者陷阱在客户端浏览器窗口内执行的导航事件(对于桌面/移动应用程序)捕获它重定向到的URL并以此方式提取令牌。

    当您使用授权代码授权类型或oAuth2的隐式授权时,将使用重定向URI,而身份验证和授权由第三方服务器完成(例如:使用google身份验证进行stackoverflow)。如果正在使用的API使用的是密码凭据或客户端凭据授予类型,则通常不需要重定向URI

    这是有意义的,因为一旦第三方网站(如谷歌)显示登录屏幕,一旦用户通过身份验证,它就应该知道流量何时返回

    如果您没有前端,这意味着您必须捕获并发送最终用户的用户名和密码,以便将其作为REST调用发送,这可能违反安全策略


    另请参阅:

    好的,谢谢。所以,理论上,我可以使用一个本地主机地址/端口,捕获它并去掉传入的访问令牌?