gpt4 book ai didi

php - API认证困惑

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:54 25 4
gpt4 key购买 nike

我的问题不是很深的技术问题,而是一个系统架构问题。

我正在使用 Go Lang 设计 API 后端。我想要几个客户端,比如网络服务器、手机等。我想所有这些客户端都应该有一个 secret 的 API key ,以便验证他们可以使用 API。同时,Web 前端将有很多具有不同限制的用户。我希望这些用户能够使用他们的 Facebook 或 Google 帐户登录。据我了解,这应该需要 OAuth 身份验证。我现在的问题是我应该在哪里添加 OAuth。仅在前端然后将用户保存在 session 中或在前端和后端之间。我对应该如何设置此通信和身份验证感到非常困惑。

我正在用 PHP 构建 Web 服务器,我希望 Web 前端真正轻量级并且或多或少仅用作 Go API 的空壳/ View 。我以前用普通的 PHP/MySQL 构建过系统,但我想转向基于 Go 的 API。

对于来自 Web 服务器前端的 API(比方说一个节目资料页面),URI 看起来像什么?我想像对“http.//backend.com:3000/[api-key]/[api-secret][oauth-token?]/profile 的 GET 调用。然后是一些中间件来验证 Web 客户端和另一部分用于对用户进行身份验证的中间件。这是“正确的”方法吗?

我希望你们能给我指出正确的方向。

提前致谢。

最佳答案

如果您查看 facebook 或 google 开发者文档,您会找到有关如何与他们的 oauth 登录系统集成的示例。

OAuth,或者至少是它的最后一步,确实必须在后端完成,因为您必须假设您的前端是攻击您系统的坏人。

对于 go oauth,看一下:https://github.com/golang/oauth2

你可能会有一个http.HandlerFunc("/oauth/google",yourGoogleFunc)http.HandlerFunc("/oauth/facebook",yourFBFunc)输入 thing,然后您在这些公司的开发帐户上注册该 URL。

在测试时,使用 localhost:8080(或其他)作为回调 url 是最简单的,因此只要您使用本地浏览器,它就可以在任何机器上运行。

关于php - API认证困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com