我正在开发一个最终将成为付费墙的api——在我的场景中,客户会注册,为api层/计划付费,然后能够从自己的应用程序中使用该api。根据所选的层,它们对api有一定的使用限制(例如,根据层的不同,节流/限制和各种可用的api(
我曾考虑分发一个api_key以便于客户端使用,但不确定这是否是个好主意,也不确定它如何与Jhipster安全模型相适应。
我想我可以让客户登录以获取JWT访问/刷新令牌,但这对潜在客户来说有点复杂。
答案是去"完整的Oauth2"并创建Okta认证服务器的单独的"应用客户端",并给每个客户他们自己的";clientId+机密";他们可以用来获得访问令牌?
有什么建议吗?
谢谢
我认为使用jhipster UAA服务器会很容易,它充当:
基于Spring Boot实现的OAuth2授权服务器身份管理服务器,公开用户帐户CRUD API
它很容易与已经存在的jhipster技术堆栈集成,并且它基于OAuth2标准。
但对于度量和限制部分,您需要一些编码和单独的快速高可用存储来跟踪API的使用情况,并将一个文件提供给您的HAproxy作为黑名单,供达到限制的人重定向到购买页面。