go-auth-server
Auth micro-service
Feature
- JWT auth
- Support Google recaptcha
- User manager
- UI example
Getting start
go get -u github.com/golang/protobuf/proto
protoc -I grpc/mail/ grpc/mail/mail.proto --go_out=plugins=grpc:grpc/mail
docker-compose build
docker-compose up
ENV
Name ENV | Default value |
---|---|
PORT | 4070 |
MONGO_URL | mongodb://localhost/auth |
REDIS_URL | redis://localhost:6379 |
RECAPTCHA_PRIVATE_KEY | secretKey |
ENABLE_CAPTCHA | false |
OAuth | – |
OAUTH_GOOGLE_CLIENT_ID | – |
OAUTH_GOOGLE_CLIENT_SECRET | – |
OAUTH_REDIRECT_URL | http://localhost:3000/auth/callback/:type |
Generation cert
openssl genrsa \
-passout pass:12345678 \
-out cert/private_key.pem \
2048
openssl rsa \
-passin pass:12345678 \
-in cert/private_key.pem \
-pubout > cert/public_key.pub
technology stack
Back-End
- Go
- MongoDB
Kubernetes
# Run minikube
minikube start \
--network-plugin=cni \
--kubernetes-version=v1.8.0
# Install Helm
# See https://github.com/kubernetes/helm/blob/master/docs/install.md
helm init
helm repo update
# Run application
helm \
--kube-context minikube \
install \
--name go-auth \
--namespace=demo \
ops/Helm/go-auth
# Delete
helm del --purge go-auth
Initial state for data base
initialState/user.json
- contains initial information