balu
23.07.2019 12:16:38
1
Привет всем.
Возникла потребность знать в каком окружении запускается код.
От этого зависят креды, которые нужно использовать.
Если мы запускаем код в Sandbox, нужно брать одни креды для стороннего API.
Если в Production окружении, то берем другие креды.
Хотел бы узнать как можно это определить и какие вы подходы используете?
На одном из проектов у нас были специальные Custom Settings для работы с внешним API - url, login, password, token (он перезаписывался из кода).
И у каждого энва были свои значения. Такой вот прототип конфиг-файла.
И таким образом их намного легче менять в будущем, чем если их хранить в коде в каком-то классе.
1 Вподобання
isSandbox = [SELECT IsSandbox FROM Organization LIMIT 1].IsSandbox;
productionOrganizationId == UserInfo.getOrganizationId()
URL.getSalesforceBaseUrl()
3 Вподобання
кастом сеттінгс не має користуватися для кредів. є для цього Named Credentials
balu
23.07.2019 12:34:50
5
Оооо это то что нужно.
То есть можно использовать это вс ё сразу или это три разных подхода?
Можно чуть больше контекста. Заранее спсибо
balu
23.07.2019 12:37:06
6
Да, согласен кастом сетингс не самый лучший вариант.
А в этом Named Credentials пароль можно хранить в скрытом виде или он чисто для эндпоинтов?
там любі типи, JWT токени, чи просто логін-пасс, зайдіть в орг і погляньте:
2 Вподобання
Там назва змінних говорить сама за себе, можна визначити, чи це сендбок, отримати айді орга і також url, який включатиме namespace оргу
1 Вподобання