小编Dja*_*ngo的帖子

请求标头字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin

当我尝试加载我的网页时出现以下错误:请求标题字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin.

我已经查看了回答此问题的其他答案,并指出缺少CORS支持.令人困惑的是我得到了支持!至少我想我做到了.

我正在尝试将Zingchart连接到我的Angular JS前端并使用AJAX请求从我的REST API获取数据(在localhost:3000)

这是我的AJAX调用:

window.feed = function(callback) {
    $.ajax({
        type: "GET",
        dataType: "json",
        headers: {
            Accept: "application/json",
            "Access-Control-Allow-Origin": "*"
        },
        url: "http://localhost:3000/readings",
        success: function (data) {
            var mem = data.mem.size/10000;
            var tick = {
                plot0: parseInt(mem)
            };
            callback(JSON.stringify(tick));
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的REST API实现包括以下内容:

 // CORS Support
 app.use(function(req, res, next) {
   res.header('Access-Control-Allow-Origin', '*');
   res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
   res.header('Access-Control-Allow-Headers', 'Content-Type');
   next();
 });
Run Code Online (Sandbox Code Playgroud)

我的REST API是在本教程的帮助下构建的:https://www.youtube.com/watch?v = OhPFgqHz68o

ajax rest cors angularjs zingchart

5
推荐指数
1
解决办法
3934
查看次数

如何在 Google OAuth2 授权流程后将 JWT 从我的后端服务器发送到我的前端

我正在创建一个带有 React 前端和 Java Spring Boot 后端的应用程序。

我的登录流程如下所示:

  1. 用户在前端点击登录
  2. 用户被重定向到我的服务器上的 Google Oauth 授权端点
  3. OAuth 2.0 授权流程发生:用户被重定向到 Google 并登录。Google 与我的服务器交互,首先交换授权代码,然后交换 JWT 访问令牌。我的服务器现在拥有用户的 JWT 访问令牌。
  4. 问题:我现在需要将 JWT 令牌重定向到我的 React 前端,以便每次用户想要请求访问我的服务器上受保护资源时都可以保存和使用该令牌。

现在是否存在将令牌从服务器重定向到我的 React 前端的行业标准/最佳实践?

Stack Overflow 上也有关于这个主题的类似问题,但它们至少已经有 3 年历史了,例如如何在服务器身份验证后向前端提供 JSON Web 令牌? 从那时起,隐式流已被弃用,不再建议将 JWT 存储在本地存储中,并且https://datatracker.ietf.org/doc/html/rfc6750明确不鼓励在重定向 URL 中将承载令牌传递到前端。

我想知道是否有人知道这个问题的最新解决方案。

authentication oauth oauth-2.0 jwt google-oauth

5
推荐指数
1
解决办法
1387
查看次数

在我的案例中,我应该如何使用 OAuth 2.0 授权(React 前端,Spring Boot 后端)

我对如何为我的网络应用程序使用 OAuth 2.0 授权感到有点困惑。

我了解 SPA 的隐式拨款现已停用,我应该使用授权拨款。

然而,我读过的文章和文档以及我看过的视频仍然留下了一些含糊之处。

如果我有一个 React JS 前端和一个 Spring Boot 后端,我会看到三种进行令牌交换的方法。因此,当用户单击登录时,我可以:

1)让我的 React 前端在没有客户端密钥的情况下执行授权授予,并按照 SPA 的 OAuth 2.0 文档的建议获取令牌

2)让我的React前端执行一半的授权,即获取授权码。然后将其传递到我的后端,以与客户端密钥交换授权代码以获取令牌,然后将此令牌传递到我的前端。

(这是这里推荐的方法:既然密码授予已被弃用,那么它的替代方案是什么? OAUTH 2.0)。

老实说,我不明白这是如何工作的,因为前端和后端的客户端 ID 肯定会不同吗?

3)让我的 React 前端将授权流程委托给我的后端服务器,该服务器可以使用客户端密钥执行授权。

我是否误解了什么,或者所有这些方法都可能吗?这里推荐的方法是什么?

authorization oauth-2.0 reactjs spring-boot spring-security-oauth2

4
推荐指数
1
解决办法
1305
查看次数

为什么我不能渲染这个angularJS代码?

此代码使用ZingChart从以下教程中获取. http://www.zingchart.com/blog/2015/03/05/zingchart-angularjs/

我的代码如下所示:

//my-zingchart.html
<html ng-app="myApp">
<head>
   <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
   <script src="http://cdn.zingchart.com/zingchart.min.js">
   <script src="node_modules/zingchart-angularjs/src/zingchart-angularjs.js">
   <script>
       var app = angular.module('myApp',['zingchart-angularjs']);

        app.controller('MainController', function($scope){
        $scope.myData = [1,4,5,5,10];
});
   </script>
</head>
<body>
 <div ng-controller="MainController">
<zingchart id="chart-1" zc-values="myData"></zingchart>
</div>
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我尝试在chrome中渲染它时,我只得到一个空白页面,并出现以下错误:

未捕获错误:[$ injector:modulerr] http://errors.angularjs.org/1.3.14/ $ injector/modulerr?p0 = myApp&p1 =错误%3A%... gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14 %2Fangular.min.js%3A17%3A381)

我找了类似的错误,但他们的解决方案似乎没有解决我的问题.

javascript angularjs zingchart

3
推荐指数
1
解决办法
201
查看次数

为什么下面的代码只有 O(N) 的空间复杂度?

这直接取自 Gayle Lakmaan McDowell 的 Cracking the coding interview。

她列出了以下代码:

 int f(int n) {
 if(n<=1){
   return 1;
  }
 return f(n-1) + f(n-1);
}
Run Code Online (Sandbox Code Playgroud)

她清楚地解释了为什么时间复杂度是 O(2^n),但为什么这里的空间复杂度只有 O(N)?

algorithm time-complexity space-complexity

2
推荐指数
1
解决办法
720
查看次数