Skip to content

micro-company/go-auth

Repository files navigation

go-auth-server

Maintainability Go Report Card

Auth micro-service

Feature

  • JWT auth
  • Support Google recaptcha
  • User manager
  • UI example

Schema auth-service

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

OAuth