API 设计 - 一个域上的应用程序,不同域上的 api。如何在不传递用户 ID 的情况下检索用户特定数据

标签 api go

我正在尝试使用 Golang 和 Angular JS 构建一个非常简单的网络应用程序(用于学习目的)。

我对 Go 和 AngularJS 代码很满意,但我在尝试创建合适的 API 结构时遇到困难。

目前,我已将运行该应用程序的所有代码和 API 代码捆绑在一起。

理想情况下,我想把它分开,这样我就可以让我的应用程序在 app.mything.com 等子域上运行,而 API 在 api.mything.com 上运行

我遇到的问题是我的 API 有 MYSQL 调用,例如 -

select * FROM sometable where userid = userID

userID 是保存在 session 中的用户 ID。

因此,虽然所有代码都捆绑在一起,但这是可能的并且工作正常。 如果我要将代码分离到两个单独的子域,则 session 将无法在两个子域上访问。

如何实现这样的目标?

谢谢 戴夫

最佳答案

有两种方法可以解决这个问题:

  • 将 session 存储更改为 API 和应用共享的内容(即:MySQL)。
  • 开始使用(加密的)cookie 而不是 session 数据。

关于API 设计 - 一个域上的应用程序,不同域上的 api。如何在不传递用户 ID 的情况下检索用户特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310131/

相关文章:

python - Yosup 验证失败 Whatsapp

c# - 使用 TLsharp 进行 Telegram 编程时出现 PHONE_MIGRATE_X 错误

go - 为什么 slice 的容量不会随着 `[:0]` 而减少

go - 在go中写入parquet文件的时间戳格式是什么

arrays - Golang 从 .. 读取字节数组并显示结果

postgresql - 违反唯一约束导致整个 pq.CopyIn postgresql 导入失败

api - 如何动态获取 NGINX 代理的 API 访问 token

java - Spring 。 Spring如何管理Controller

javascript - 将自定义 map 样式添加到 Mapbox.js

go - 将带有用破折号分隔的单词的标志映射到 camel_case 配置?