Spring Cloud Config Server - идентификатор пользователя и пароль для подключения к github

Я просмотрел код для ряда серверов конфигурации Spring Cloud в репозитории github, и ниже приведены 2 значения, которые предоставляются как часть файла свойств. Я считаю, что для подключения к конечной точке https github также необходимы идентификатор пользователя и пароль. Могут ли они быть частью переменных среды?

server.port=7070
spring.cloud.config.server.git.uri=https://

Обновлено:

Ниже приведен пример, который я видел на весеннем сайте. Однако во всех репозиториях github на моем предприятии я не вижу, чтобы идентификатор пользователя и пароль устанавливались, поскольку они являются конфиденциальной информацией. Как это можно было установить или настроить URL-адрес доступа к серверу github, если uid / pwd не указан в файле свойств?

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo
          username: trolley
          password: strongpassword

через переменные среды?

spencergibb 17.09.2018 21:47
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
1
5 003
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий
  1. для публичный репозиторий нет необходимости использовать имя пользователя и пароль или другие авторизации для получения свойств конфигурации, для частный репозиторий требуется авторизация.
  2. можно установить переменную из окружения, которое из os или java-system-property и командной строки. для приоритета: параметр командной строки> свойство-java-системы> ОС-env> application.properties.

Итак, например, что, если я установил свойство использовать командную строку напрямую (которая имеет наивысший приоритет), например:

java -jar config-server.jar --spring.cloud.config.server.git.username=xxx --spring.cloud.config.server.git.password=xxx

которые содержат все параметры в инструментах CI или что-то еще, управляемое кем-то, вы не увидите этого в исходном коде.

Спасибо, это помогает

Punter Vicky 18.09.2018 13:00

Легкий совет -

Перейдите на github.com -> Настройки разработчика -> Создать токен доступа, затем создайте токен доступа только с правом чтения репо. таким образом частный репозиторий может быть открыт без указания пароля в виде обычного текста!

Что-то вроде этого -

spring.cloud.config.server.git.password = 0371abshak3048sa8d81828488483sd302

OP спрашивает, как защитить сервер конфигурации, а не как безопасно получить доступ к git

Ruelos Joel 09.02.2021 06:25

используйте трюк с уменьшенной видимостью сети для защиты сервера конфигурации и добавьте свойства начальной загрузки, чтобы использовать псевдоним, например - spring.cloud.config.uri = config

girish mahajan 10.02.2021 07:47

работать на меня. Благодарность

Cuong Nguyen 05.04.2021 11:43

Да, просто используйте такие переменные:


    spring.cloud.config.server.git.uri=${GIT_REPO_URL}
    spring.cloud.config.server.git.username=${GIT_USERNAME}
    spring.cloud.config.server.git.password=${GIT_TOKEN}

И установите эти env vars на любом CI. Например, в качестве секретов в Действиях GitHub:


    - name: Build config-service
      env:
         GIT_REPO_URL: ${{ secrets.GIT_REPO_URL }}
         GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
         GIT_TOKEN: ${{ secrets.GIT_TOKEN }}

И похоже, что вы больше не можете использовать пароль для доступа к GitHub, вам нужен токен GitHub верхнего уровня здесь spring.cloud.config.server.git.password

Другие вопросы по теме