Ballerina-Security

The one-stop place to learn/experience the examples, use-cases, demonstrations, and resources related to microservices security patterns with Ballerina, which is an open-source programming language for the cloud that makes it easier to use, combine, and create network services.

Summary

Ballerina is an open-source programming language for the cloud that makes it easier to use, combine, and create network services. Ballerina has first-class support for a whole bunch of security features from transport layer security like SSL/TLS, mTLS to application layer security like Basic Auth, JWT Auth, OAuth2, etc.

Ballerina standard library has Auth, JWT, and OAuth2 packages which provide the authentication and authorization framework to secure the APIs of microservices written with HTTP, WebSocket, GraphQL, gRPC, and WebSub protocols. The Crypto package facilitates APIs to perform cryptographic operations like hashing, HMAC generation, checksum generation, encryption, decryption, signing data digitally, verifying digitally signed data, etc., with different cryptographic algorithms. The URL module facilitates APIs to encode and decode a URL or part of a URL. The Kafka, RabbitMQ, NATS, STAN, Email, FTP, TCP, and UDP packages have their ways of securing APIs which are protocol-dependent.

This website is the latest deployed version of this Ballerina Security GitHub Repository, which contains all the examples, use-cases, demonstrations, and resources related to Ballerina Security in one place. So, this is the one-stop place to learn/experience Ballerina Security.

NOTE: If you have any questions, comments, or suggestions, please feel free to create a GitHub Issue or to open a GitHub Pull Request. As an open-source project, we welcome the contributions from the community to make this project better.