该文档介绍了如何使用Amazon API Gateway和AWS Lambda创建安全可扩展的无服务化API,强调了新颖的开发模式和自动化部署的好处。内容涉及API定义、应用程序逻辑处理、自定义认证以及使用Swagger自动化API整合流程。重点在于利用AWS的服务实现无需管理基础架构,并提升安全性和扩展性。
Unauthenticated
API处理流程
Mobile apps AWSLambda lambdaHandler
Register
Login
API Gateway
Authenticated
Mobile apps AWS Lambda lambdaHandler
ListPosts
GetPosts
API Gateway
GetComments
Invoke with
caller credentials
Authorized by IAM
The API definition
•POST
• 接收用户的username, password
• 加密密码并在DynamoDB中创建用户资料
• 生成基于JWT的密匙
• 返回用户和密匙
/register
• POST
• 接收用户的username, password
• 比对DynamoDB验证用户登录
• 成功后利用JWT加密并生成Token
• 返回登录成功后的JWT Token
/login
23.
自定义认证 - Lambda
Client
LambdaAuth
function
API Gateway
OAuth token
Policy is
evaluated
Policy is
cached
Endpoints on
Amazon EC2
Any other publicly
accessible endpoint
AWS Lambda
functions
403
AWS KMSJWT Provider
24.
IAM Policy是所有AWS服务的权限工具
Mobile appsAWS Lambda lambdaHandler
API Gateway
Invoke with
caller credentials
Service calls are
authorized using
the IAM role
更多介绍
http://amzn.to/1YkxcjR
DynamoDB