我使用的是VisualStudio v14,最近通过NuGet包管理器升级到了7.4.1,现在当我发出令牌请求时,Umbraco会返回一个服务器错误页面"Server Error in '/' Application" - replying with a 404 for "/umbraco/oauth/token"。该错误还指出,在控制器'Umbraco.Web.Editors.BackOfficeController'上找不到公共操作方法'oauth‘。
在我之前安装的7.3.8版本中,我有一个基本的Umbraco RestApi配置可以很好地工作。
我已经卸载并重新安装了Umbraco RestApi和IdentityExtensions,在Web.config和UmbracoStandardOwinStartup.cs中验证了我的配置,重建了我的站点,但仍然收到404服务器错误。我还验证了我的UrlRewriting.config没有干扰请求
下面是我使用的令牌请求:
curl -X POST -H "Accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'grant_type=password&username=admin&password=pwd' http://localhost:12345/umbraco/oauth/token有没有人建议我如何调试,或者给我一个更好的解决方案?
发布于 2016-03-29 00:32:41
使用/umbraco/oauth/token服务路径的令牌授权需要HTTPS协议。即使生产和/或企业管理的服务器正确配置了SSL,我们的PDE也很少这样做。
下面是我在我的Visual Studio 2015 .NET 4.5.2网站项目中为我的Umbraco实例启用SSL的方法。
在*.csproj文件中,找到节点:<IISExpressSSLPort />并将其更改为: PDE端口号必须介于44300和44399之间,并确保这些端口在<IISExpressSSLPort>44300</IISExpressSSLPort>上是打开的。Visual Studio将提示您对此新SSL配置和未来的SSL配置的行为做出一些决定,因此这些决定由您决定。
下面是一个来自localhost的令牌的工作请求:
curl -X POST -H "Accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'grant_type=password&username=######&password=******' -k https://localhost:44300/umbraco/oauth/token
请注意-k标志。
因为我选择安装由VS生成的本地SSL,所以curl的验证失败,所以使用-k标志来禁用对当前请求的验证。
我希望这能帮助那些偶然发现这个帖子的人!祝好运!
https://stackoverflow.com/questions/35799660
复制相似问题