{"id":19059400,"url":"https://github.com/evertonsavio/authorization-server-microservices","last_synced_at":"2026-05-09T14:03:54.771Z","repository":{"id":144462764,"uuid":"315158319","full_name":"evertonsavio/authorization-server-microservices","owner":"evertonsavio","description":"Spring Cloud Microservices using Keyclock as Authorization Server (Oauth2). Resource server based on Spring Cloud - Netflix Stack (Spring Cloud Gateway, Config Server, Eureka Discovery Server).","archived":false,"fork":false,"pushed_at":"2021-01-30T20:48:24.000Z","size":211049,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T12:13:04.540Z","etag":null,"topics":["docker","keycloak","microservices","microservices-architecture","oauth2","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evertonsavio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-23T00:06:54.000Z","updated_at":"2024-10-04T22:31:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ce49f42-85c3-4037-9597-dede0ec3fcbb","html_url":"https://github.com/evertonsavio/authorization-server-microservices","commit_stats":null,"previous_names":["evertonsavio/authorization-server-microservices"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fauthorization-server-microservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fauthorization-server-microservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fauthorization-server-microservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fauthorization-server-microservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evertonsavio","download_url":"https://codeload.github.com/evertonsavio/authorization-server-microservices/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240113943,"owners_count":19749829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","keycloak","microservices","microservices-architecture","oauth2","spring-boot"],"created_at":"2024-11-09T00:08:52.804Z","updated_at":"2026-05-09T14:03:49.734Z","avatar_url":"https://github.com/evertonsavio.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Keycloak SSL Configuration  \n* https://github.com/maslick/keycloak-docker  \n\n#### Gerando o certificado pelo LetsEncrypt  \n* Verificando versao do SO:\n```\nlsb_release -a\n```\n* Instalando SNAP  \n```\nsudo snap install core; sudo snap refresh core\n```\n* Removendo instalações anteriores do certbot conforme documentação para Ubuntu 18\n* https://certbot.eff.org/lets-encrypt/ubuntubionic-apache  \n```\nsudo apt-get remove certbot\n```\n* Instalando certbot  \n```\nsudo snap install --classic certbot\n```\n\u003e Execute the following instruction on the command line on the machine to ensure that the certbot command can be run.\n\u003e sudo ln -s /snap/bin/certbot /usr/bin/certbot  \n\n* Gerando o certificado no CA LetsEncrypt\n```\nsudo certbot certonly --standalone -d meudominio.com.br\n\nIMPORTANT NOTES:\n - Congratulations! Your certificate and chain have been saved at:\n   /etc/letsencrypt/live/meudominio.com.br/fullchain.pem\n   Your key file has been saved at:\n   /etc/letsencrypt/live/meudominio.com.br/privkey.pem\n   Your cert will expire on 2021-03-28. To obtain a new or tweaked\n   version of this certificate in the future, simply run certbot\n   again. To non-interactively renew *all* of your certificates, run\n   \"certbot renew\"\n - If you like Certbot, please consider supporting our work by:\n\n   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate\n   Donating to EFF:                    https://eff.org/donate-le\n```\n**Upar usuario para SUPER**\n```\nsudo -i\n```\n* As chaves foram geradas, acessar:\n```\ncd /etc/letsencrypt/live/meudominio.com.br/\n```\n* Executar\n```\nopenssl pkcs12 -export -inkey privkey.pem -in fullchain.pem -out kc.pkcs12 -name meudominio.com.br  \nkeytool -importkeystore -deststorepass secret -destkeypass secret -destkeystore keycloak.jks -srckeystore kc.pkcs12 -srcstoretype PKCS12 -srcstorepass secret\n```\n* Copiar a keycloak.jks para o local onde o docker irá copia-la para o Container.\n* Executar os scripts. REF: https://github.com/maslick/keycloak-docker \n\n#### Links utilizados\n\n* (PRINCIPAL) https://github.com/maslick/keycloak-docker \n* (CERTBOT DOCS APACHE) https://certbot.eff.org/lets-encrypt/ubuntubionic-apache\n* (PARCIAL DIRECT KEYSTORE) https://medium.com/@ajithprasadanandsadanam/quick-setup-of-ssl-certificates-using-certbot-on-keycloak-c74ac14760a\n* (NÃO TESTADO) https://wjw465150.gitbooks.io/keycloak-documentation/content/server_installation/topics/network/https.html\n---\n### Errors Comuns encontrados para utilizar keycloak-admin-client. \n* Criar usuário do client falha https://stackoverflow.com/questions/41164855/keycloak-create-new-user-fails/62056367#62056367. \n* Versoes das dependencias https://stackoverflow.com/questions/39861900/resteasy003145-unable-to-find-a-messagebodyreader-of-content-type-application-j. \n```\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.keycloak\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003ekeycloak-admin-client\u003c/artifactId\u003e\n\t\t\t\u003cversion\u003e6.0.1\u003c/version\u003e\n\t\t\u003c/dependency\u003e\n\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.jboss.resteasy\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003eresteasy-jackson2-provider\u003c/artifactId\u003e\n\t\t\t\u003cversion\u003e3.1.0.Final\u003c/version\u003e\n\t\t\u003c/dependency\u003e\n\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.jboss.resteasy\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003eresteasy-client\u003c/artifactId\u003e\n\t\t\t\u003cversion\u003e3.1.3.Final\u003c/version\u003e\n\t\t\u003c/dependency\u003e\n```\n---\n### Spring Cloud Oauth2\n  \n* Debian quick notes\n```\nsudo chmod -R 777 ./\nsudo chmod +x filename\n```\n* Databases  \n```\nhttps://www.tecmint.com/install-postgresql-and-pgadmin-in-ubuntu/\nhttps://stackoverflow.com/questions/5598517/find-the-host-name-and-port-using-psql-commands#:~:text=The%20postgresql%20port%20is%20defined,conf%20file.\u0026text=Changing%20the%20number%20there%20requires,for%20it%20to%20take%20effect.\u0026text=You%20can%20use%20the%20command,%22%20at%20port%20%22port_number%22.\n```\n  \n* Inicialização do keycloak e postgres por docker criando uma rede externa. \n``` \ndocker network create --driver bridge postgres-network\ndocker run -d --name postgres --net keycloak-network -e POSTGRES_DB=keycloak -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=password postgres\ndocker run --name keycloak --net keycloak-network jboss/keycloak -e DB_USER=keycloak -e DB_PASSWORD=password\n```\n* Linha de comando do container: \n```\ndocker exec -it \u003cCONTAINER_ID\u003e bash\n```\n\n### Links\n* http://www.mastertheboss.com/jboss-frameworks/keycloak/configuring-keycloak-database\n\n* https://www.appsdeveloperblog.com/keycloak-rest-api-create-a-new-user  \n* https://www.ory.sh/oauth2-for-mobile-app-spa-browser/  \n* https://appauth.io/\n  \n* https://renatogroffe.medium.com/postgresql-docker-executando-uma-inst%C3%A2ncia-e-o-pgadmin-4-a-partir-de-containers-ad783e85b1a4\n\n-------------------------\n### Passos para configuração do pg-admin após execução do docker-compose\n  \n* criar network com docker:\n\n\n\u003e docker network create keycloak-network\n\n*  Verificar no docker-compose as configuracoes de network, ou ela gerará uma network default caso não adicionado: \n```\nnetworks:\n  default:\n    external:\n      name: keycloak-network\n```\n\n* Baixar a imagem do pg-admin  \n\u003e docker pull dpage/pgadmin4\n\n``` \ndocker run --name teste-pgadmin --network=keycloak-network -p 15432:80 -e \"PGADMIN_DEFAULT_EMAIL=everluca@hotmail.com\" -e \"PGADMIN_DEFAULT_PASSWORD=PgAdmin2020!\" -d dpage/pgadmin4\n```\n\n* Abrir o pgadmin em:\n\u003e http://localhost:15432 \n * Colocar o email e senha passados na execução da imagem\n * Executar os passos, clicar com botão direito em \u003cb\u003e Servers \u003c/b\u003e\n \u003e create \u003e Server  \n* Na aba General preencher Name com o nome da conexão e em Comments descrever a conexão.\n* Na aba Connection preencher o Host name/address com o nome do container do postgres gerado pelo docker-compose nesse caso.\n* Em Port deixar padrao 5432\n* Username e Password do bando de dados descritos inicialmente na docker-compose.yml file.\n\n ### SMTP SERVER OAUTH2 KEYCLOAK CONFIGURATION\n   \n```\nHost smtp.gmail.com\nPort 465\nFrom test.noreply@gmail.com\nEnable SSL ON\nEnable Authentication ON\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevertonsavio%2Fauthorization-server-microservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevertonsavio%2Fauthorization-server-microservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevertonsavio%2Fauthorization-server-microservices/lists"}