从角度 2 调用 laravel 后端 api

Posted

技术标签:

【中文标题】从角度 2 调用 laravel 后端 api【英文标题】:Call laravel backend api from angular 2 【发布时间】:2017-06-04 18:19:48 【问题描述】:

我正在开发一个以 angular2 为前端的网站和一个以 dingo 为前端的 laravel api。现在我想从这个 api 中获取 angular 2 的数据。但我当然想保护 api,这样现在只有我的 angular 前端被允许从api 获得响应。

我搜索了很多,但找不到最好的方法。大多数搜索结果使用 jwt 或 auth,但使用用户必须登录的 angular2 应用程序。在我的情况下,无需登录即可转到包含来自 api 的数据的页面。

如果有任何建议或链接到有趣的教程或有关此主题的其他问题,我将不胜感激。

【问题讨论】:

使用cookies怎么样?? 【参考方案1】:

如果我明白你想要实现什么,你应该在 Laravel 中实现一个跨源资源共享中间件。您甚至可以使用Barryvdh's Laravel CORS 包来获得更快的方法。 JWT 在您的情况下是无用的,因为它只是一个令牌身份验证系统,它为您的 ReST API 提供授权用户执行需要身份验证的操作的能力。

有用的链接: Implementing secure CORS APIs

【讨论】:

好像我在寻找错误的东西。但是,如果我想为所有访问者公开使用我的 api 的一部分和使用我的 api 的另一部分的私人管理部分。我不确定这是否可以与 cors 一起处理。我需要一些管理部分的登录功能吗? 在您的情况下,您应该同时使用 CORS 和 JWT 中间件。虽然 CORS 中间件将负责在整个 API 端点集上工作,但 JWT 中间件将仅用于需要身份验证的端点。简而言之,需要身份验证的端点仅在提供有效令牌的情况下才会发送数据(您可以获得向登录方法提供有效用户名-密码对的令牌)。即使用户未登录,所有其他端点也会发送数据(显然,如果 CORS 中间件授权请求)。 另一个问题:如果在某个时候我想让我的 api(仅读取方法)可用于其他客户端应用程序,这可能吗?或者我应该用不同的方法从头开始吗?

以上是关于从角度 2 调用 laravel 后端 api的主要内容,如果未能解决你的问题,请参考以下文章

将授权用户从Laravel后端传递到React前端的最安全方式

Laravel注销功能不起作用

使用ajax调用的角度保存变量到laravel会话不起作用

无法从角度连接 laravel 网络套接字

如何从 laravel 后端仪表板拆分 vuejs 组件的设计

Vuejs Axios POST 请求从 Laravel 后端获取 HTTP422 错误