c# - OAuth 服务器 token 端点返回 404

标签 c# oauth-2.0 asp.net-web-api2

我正在研究我的 SPA 和网络服务之间基于 token 的身份验证和授权。我在 Taiseer Joudeh 撰写的本主题中找到了很棒的文章并基于 this我开始构建我的基础设施。

资源和认证服务器是分开的。身份验证服务器有两个端点:

第一个工作正常,所以我可以注册新的观众。我对第二个有疑问。它总是返回 404。

public void ConfigureOAuth(IAppBuilder appBuilder)
        {
            OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
            {
                //only dev environment
                //TODO
                AllowInsecureHttp = true,
                TokenEndpointPath = new PathString("/services/oauth2/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
                Provider = new CustomOAuthProvider(),
                AccessTokenFormat = new CustomJwtFormat("http://dev.dilib.local")
            };

            appBuilder.UseOAuthAuthorizationServer(OAuthServerOptions);
        }

如您所见,它与 Taisser 在他的文章中所写的几乎相同。

到目前为止,为了找出它没有按预期工作的原因,我做了什么:

  • 我仔细检查了我编写的代码,没问题
  • 我四处搜索,有几个人遇到了这个问题,但答案只表明他们可以解决这个问题,没有人努力写下他/她所做的事情
  • 我更改了几次 TokenEndpointPath 以避免它可能与我机器上运行的其他服务发生冲突,但是,我的机器上没有任何其他服务
  • 我读到 OAuth 端点不完全是一个服务端点,我看到了一个代码片段,但整篇文章都是关于 CORS 的,我不想混合所有内容
  • 我检查了 IIS 日志,除了特定的 POST 和 404 什么都没有
  • 我检查了事件查看器,什么都没有
  • 我在这里检查了相关问题,但没有

所以,我想不通了,我想我做了一些愚蠢的事情,我想请求你的帮助!

最佳答案

您提到 oauth2 token 端点 URI 如下所示,但您的代码片段并未说明这一点,因为代码似乎在您创建的“TokenEndpointPath”变量中缺少“authentication”字符串。我在下面粘贴了更正后的代码。我不确定您的问题是否这么简单:)

http://dev.dilib.local/services/authentication/oauth2/token

OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
            {
                //only dev environment
                //TODO
                AllowInsecureHttp = true,
                TokenEndpointPath = new PathString("/services/authentication/oauth2/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
                Provider = new CustomOAuthProvider(),
                AccessTokenFormat = new CustomJwtFormat("http://dev.dilib.local")
            };

关于c# - OAuth 服务器 token 端点返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448607/

相关文章:

c# - 确保 WebAPI2 路由在 MVC 路由之前匹配

c# - 使用存储过程从复选框切换 bool 值是否有任何安全优势

c# - 总是在 Override 中调用 base.Method 而不为简单脚本提及它

node.js - Node.js 中的 2 条腿服务器端 oauth 实现

oauth-2.0 - 刷新 token 是否过期,如果过期,何时过期?

c# - 添加附加参数时无法连接到 ASP.NET Web API

c# - ITextSharp 在 PDF 中重复 HTML 表头

c# - 当前网络请求执行过程中产生了未处理的异常

oauth-2.0 - 基于 OAuth2 的 SSO

javascript - 使用 Angular 和 ASP WEB API CORE 上传文件?