为了账号安全,请及时绑定邮箱和手机立即绑定

API认证设计

API认证设计

Go
慕莱坞森 2021-10-25 14:28:33
我计划构建一个由两台服务器组成的 Web 服务——一个 API 后端(RESTful 和无状态)和一个 Web 服务器前端。后端将使用 Go 构建,Web 服务器使用 PHP 或 Java 构建。基本上,我希望多个用户通过使用他们的 facebook 或 google 凭据使用他们的网络浏览器登录,我知道我必须使用 OAuth。然而,我对如何设计身份验证深感困惑。我可以简单地单独在网络服务器上实现 OAuth,然后使用 API 密钥/秘密来验证网络服务器与我的 API 并通过两者之间的加密连接进行通信。这是否安全并且工作正常,还是应该以其他方式实施身份验证?我制作了一个简单的 diregram,展示了我如何做到这一点的想法。
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

解决问题的两种常见方法:

可信子系统模型与委托模型

可信子系统

使用可信子系统模型,为前端的每个用户维护单独的密钥和秘密可能不切实际,可信子系统模型基本上声明具有 api 权限的系统(Web 服务器)负责或受信任进行身份验证/授权用户访问该 api,并被授予这样做的权限。

您所做的是为 Web 服务器提供一个帐户,并允许 Web 服务器授权对 api 的访问。

委托模式

如果您可以控制 api 的身份验证方式,则可以使用与前端相同的方法,并重用最终用户安全主体对后端 api 进行身份验证。


查看完整回答
反对 回复 2021-10-25
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信