0

尝试使用我的 angularjs authService 中的“ https://localhost:44333/identity/connect/token ”发布到我的身份服务器时遇到以下错误,但是当我从 Postman 或 Fiddler 发布时一切正常。

在此处输入图像描述

我自己创建了一个我导入的证书,所以当我在浏览器中导航到https://localhost:44333/identity时,一切都很好。

在此处输入图像描述

我可以从谷歌搜索中收集到它与证书有关,但我只能在 node.js 上找到主题。我正在尝试从 angularjs 服务向 IdentityServer3 进行身份验证,我使用 owin 在上述 url 上自托管。

以下是我的 angulajs 登录代码的样子:

var _login = function (credentials) {

    var user = { grant_type: 'password', username: credentials.userName, password: credentials.password, scope: 'salesApi' }

    var urlEncodedUrl = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': 'Basic ' + base64Encoded
    };

    console.log(base64Encoded);

    $http.post(serviceBase + 'connect/token', { headers: urlEncodedUrl }, { data: user }).success(function (data, status, headers, config) {

        localStorageService.set('authorizationData', { bearerToken: data.access_token, userName: credentials.userName });

        _authentication.isAuth = true;
        _authentication.userName = credentials.userName;
        _authentication.bearerToken = data.access_token;


    }).error(function (err, status) {
        console.log(err);
        _logOut();
    });
};

关于我缺少什么或如何解决此错误的任何想法?

更新:这实际上是波纹模拟器还是科尔多瓦问题?

4

2 回答 2

-1

如果有人仍然有同样的问题,可能值得在使用带有自签名 SSL 证书的 Apache Ripple 模拟器中尝试我的 Ripple 解决方案

我将从上述 SO 问题中添加我的回答步骤,以防止进一步投票:

  1. 创建一个快捷方式来运行带有 --disable-web-security 标志的 Chrome。如果需要更多信息,请参阅我在Visual Studio、Ripple Emulator 和 CORS/Cross Domain Ajax上的回答
  2. 使用命令行或 Visual Studio 启动 Ripple
  3. 使用 1 中的快捷方式启动 Chrome 实例。
  4. 浏览到您的 Ripple 网址并通过 HTTPS 发出您的请求
  5. 这将失败,开发工具控制台将显示POST https://mydomain:port/api_endpoint net::ERR_INSECURE_RESPONSE
  6. 在新选项卡中浏览到您的https://mydomain:port url
  7. 这将导致“您的连接不是私人的”网页。单击“高级”,然后单击“继续到https://mydomain:port (unsafe)”以接受自签名 SSL
  8. 现在回到 Ripple 选项卡,尝试再次发出您的请求,它应该会成功。
于 2016-02-05T09:18:16.303 回答
-1

我遇到了同样的问题并解决了让 API 与真实主机一起工作的问题。似乎是 Ripple 的问题。

于 2015-10-27T23:02:13.697 回答