【发布时间】:2018-01-19 18:00:54
【问题描述】:
我已经使用无服务器框架和 APIG 实现了各种 REST-API,DynamoDB 作为数据存储,Cognito 用于用户身份验证,Angular2 作为前端。服务器端的 Cognito 授权者可以轻松地保护这些功能。缺点是我必须将 AWS SDK 集成到我的前端应用程序中,以便首先使用 Cognito 对用户进行身份验证(注册/登录,...)。我也可以使用 AWS_IAM 授权方,但在将请求发送到 API 网关之前,我还必须在客户端使用 AWS specific signature 签署所有请求。
现在我想知道是否有可能在服务器端保留身份验证和授权,以便我可以使用像 JSON Web Tokens 这样的开放标准进行注册/登录?这将允许我也为其他开发人员打开我的 REST-API,根本不会强迫他们使用 Cognito。
我知道一种可能性是为我的 lambda 函数实现自定义授权器,但没有任何稳定的东西可以“开箱即用”使用吗?我发现的大多数示例都是在客户端使用 Cognito 或 IAM auth AWS 签名登录(例如serverless-stack.com)。
奇怪的是,到目前为止,我还没有在网络上找到任何有用的信息,因为我认为这是 REST API 的典型用例。还是我对 API Gateway + Cognito 有概念上的误解?
【问题讨论】:
标签: rest authentication aws-lambda amazon-cognito serverless-framework