All Projects → damoresa → aws-secure-websockets

damoresa / aws-secure-websockets

Licence: other
Secure web socket implementation using AWS products and serverless framework

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to aws-secure-websockets

aws-serverless-swift-api-template
A Serverless REST API template, implemented in Swift with swift-aws-lambda-runtime.
Stars: ✭ 42 (-14.29%)
Mutual labels:  aws-apigateway, serverless-framework, aws-dynamodb
aws-sync-routes
Synchronizes the specified route from the main/default route table to all custom route tables in the VPC.
Stars: ✭ 16 (-67.35%)
Mutual labels:  aws-apigateway, aws-lambda-node
serverless-swagger-api
Simplifies the process of generating an API Gateway API from a swagger file.
Stars: ✭ 15 (-69.39%)
Mutual labels:  aws-apigateway, serverless-framework
hyper-kube-config
H Y P E R K U B E - A Serverless API and kubectl plugin providing a storage and retrieval Kubernetes cluster credentials. Hyperkube leverages AWS Secrets Manager for storing credential information.
Stars: ✭ 27 (-44.9%)
Mutual labels:  aws-apigateway, serverless-framework
telegram-stepfunctions-bot
Serverless Telegram bot made on 4 AWS Lambda chained by AWS Step Functions. All of this written on Serverless Framework using plugins.
Stars: ✭ 26 (-46.94%)
Mutual labels:  serverless-framework, aws-dynamodb
desktop
A native GUI application that makes it easy to explore and test Serverless Framework applications built on AWS Lambda.
Stars: ✭ 42 (-14.29%)
Mutual labels:  serverless-framework, aws-dynamodb
Dracker
An iOS and React App to track debt and send/receive payments.
Stars: ✭ 22 (-55.1%)
Mutual labels:  aws-apigateway, aws-dynamodb
Architect
The simplest, most powerful way to build serverless applications
Stars: ✭ 1,925 (+3828.57%)
Mutual labels:  aws-apigateway, aws-dynamodb
Amplify Js
A declarative JavaScript library for application development using cloud services.
Stars: ✭ 8,539 (+17326.53%)
Mutual labels:  aws-apigateway, aws-cognito
Chalice
Python Serverless Microframework for AWS
Stars: ✭ 8,513 (+17273.47%)
Mutual labels:  aws-apigateway, serverless-framework
express-sls-app
How to deploy a Node.js application to AWS Lambda using Serverless, a quick start.
Stars: ✭ 20 (-59.18%)
Mutual labels:  serverless-framework, aws-lambda-node
Awsmobile Cli
CLI experience for Frontend developers in the JavaScript ecosystem.
Stars: ✭ 147 (+200%)
Mutual labels:  aws-apigateway, aws-cognito
cognito-to-dynamodb-lambda
Copy newly-confirmed users from Cognito to DynamoDB
Stars: ✭ 68 (+38.78%)
Mutual labels:  aws-cognito, aws-dynamodb
Serverless
⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –
Stars: ✭ 41,584 (+84765.31%)
Mutual labels:  serverless-framework, aws-dynamodb
lifemanager
⏱ 한 일을 기록하면 시각화 해서 보여주는 웹 앱⏱
Stars: ✭ 85 (+73.47%)
Mutual labels:  aws-cognito, aws-dynamodb
Aws Serverless Auth Reference App
Serverless reference app and backend API, showcasing authentication and authorization patterns using Amazon Cognito, Amazon API Gateway, AWS Lambda, and AWS IAM.
Stars: ✭ 724 (+1377.55%)
Mutual labels:  aws-apigateway, aws-cognito
Serverless Sam
Serverless framework plugin to export AWS SAM templates for a service
Stars: ✭ 143 (+191.84%)
Mutual labels:  aws-apigateway, serverless-framework
Aws Lambda Typescript
This sample uses the Serverless Application Framework to implement an AWS Lambda function in TypeScript, deploy it via CloudFormation, publish it through API Gateway to a custom domain registered on Route53, and document it with Swagger.
Stars: ✭ 228 (+365.31%)
Mutual labels:  aws-apigateway, serverless-framework
action-serverless
GitHub Action for interacting with the Serverless CLI
Stars: ✭ 36 (-26.53%)
Mutual labels:  serverless-framework
blogtraversy
NPM Package that fetches all your blogs from Hashnode and Medium
Stars: ✭ 29 (-40.82%)
Mutual labels:  medium

AWS Secure Websocket

Secured web socket deployed on AWS infrastructure using the serverless framework.

This repository serves as an example for this medium article. Please, invest a few minutes reading it in case you need further detail.

All services have been implemented using NodeJS.

Serverless service user policies

serverless documentation recommends creating a service user with restricted permissions in order to avoid security issues; for example, user leaking and having admin rights could be devastating for your AWS bill.

However, the policies provided on the official example do not provide access to AWS Cognito. In order to use proper permissions, check the sls-policies.json file within this repository.

Infrastructure

The required AWS infrastructure is as follows:

  • Lambda: used to host our services.
  • API Gateway: used to expose our services to the outer world. Also provides authentication using AWS Cognito generated JWT tokens.
  • API WebSocket: used to expose our services as near realtime connections, allowing bi directional communication. It also helps us secure our connections using AWS Cognito generated JWT tokens.
  • DynamoDB: used to track active web socket connections and what they're subscribed to.
  • Cognito: user pool which allows us create and validate user credentials.

Deploying it

First of all, you need an AWS account. Then it is mandatory to configure serverless locally with your credentials.

Once you've set your environment up, you can deploy the entire stack using the following command:

serverless deploy -v

In case you want to deploy an specific lambda, you can use this other command:

serverless deploy function -f <functionName> -v

You can also remove all the allocated resources by executing this command:

serverless remove -v
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].