Skip to content

Commit f09c36b

Browse files
author
Hou Chi Chan
committed
Align local settings with guided setup environment variables
1 parent c2d29cc commit f09c36b

2 files changed

Lines changed: 41 additions & 1 deletion

File tree

‎docs/ONBOARDING.md‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,35 @@ Use [CONTRACT.md](CONTRACT.md) for the full request contract and production limi
5050
`EPP_PROVIDER_AUTH_MODE` must match the adapter: `apiKey` for Telesign or `oauth` for Soprano.
5151
Provider API keys stay in Key Vault, not `Values`.
5252

53+
Reuse the values from the setup-created Function App's environment variables; do not create
54+
a second set of application or identity IDs for local settings. The shared sample uses these
55+
same names for JavaScript, Python, and .NET:
56+
57+
| Local `Values` keys | Value to reuse from setup |
58+
|---|---|
59+
| `EPP_PROVIDER_NAME`, `EPP_PROVIDER_AUTH_MODE` | Selected provider and its authentication mode. |
60+
| `EPP_PROVIDER_ENDPOINT`, `EPP_PROVIDER_CHANNEL`, `EPP_PROVIDER_ENDPOINT_REGION` | Complete selected send URL, `sms` or `voice`, and `global` or `eu`. Do not append an API path. |
61+
| `EPP_PROVIDER_TENANT_ID` | Provider tenant, not the customer's home tenant. |
62+
| `EPP_PROVIDER_APP_ID`, `EPP_PROVIDER_SCOPE` | Soprano API application ID and the exact selected scope, including `/.default`. These are not the calling application's ID. Leave blank for API-key providers. |
63+
| `EPP_OUTBOUND_CLIENT_ID` | Existing calling application's Application (client) ID used during setup, not its Object ID or Soprano's API ID. |
64+
| `EPP_OUTBOUND_MI_CLIENT_ID` | Setup-created outbound user-assigned identity's Client ID, not its principal/Object ID. |
65+
| `EPP_PROVIDER_TIMEOUT_MS`, `EPP_PROVIDER_RETRY_INTERVAL_MS`, `EPP_PROVIDER_TEST_CONFIGURATION` | Selected profile values, as strings. Retry interval and test-configuration metadata do not enable runtime retries or shutter mode. |
66+
| `KEY_VAULT_URL` | Setup-created or explicitly selected credential vault URL, not a secret value. |
67+
68+
The outbound IDs are used only for Soprano OAuth; leave them blank for local API-key-only
69+
configurations. `EPP_PROVIDER_APP_ID` and `EPP_PROVIDER_ENDPOINT_REGION` are setup metadata;
70+
the runtime uses the selected scope and full URL directly. Keep Azure host storage, package
71+
URLs, Application Insights, and Easy Auth configuration in Azure rather than copying the
72+
complete cloud environment into a local settings file. Use the local storage and key guidance below.
73+
74+
**Migrating local settings from the earlier optional-JWT branch:** replace
75+
`EPP_PROVIDER_APPLICATION_ID` with `EPP_OUTBOUND_CLIENT_ID` and `EPP_PROVIDER_MI_CLIENT_ID`
76+
with `EPP_OUTBOUND_MI_CLIENT_ID`. Reuse `EPP_PROVIDER_TENANT_ID` and the setup-selected
77+
`EPP_PROVIDER_SCOPE`. Remove `EPP_PROVIDER_JWT_ENABLED`; current `main` uses
78+
`EPP_PROVIDER_NAME=soprano` with `EPP_PROVIDER_AUTH_MODE=oauth`, not an optional JWT flag.
79+
Replace the old base endpoint with the complete send URL. `AZURE_CLIENT_ID`, if separately
80+
configured for Key Vault, is not a substitute for `EPP_OUTBOUND_MI_CLIENT_ID`.
81+
5382
Set `FUNCTIONS_WORKER_RUNTIME` to `node`, `python`, or `dotnet-isolated`. Local
5483
`UseDevelopmentStorage=true` requires Azurite; configure Azure host storage separately.
5584
Use a local test private key for `EPP_DECRYPTION_KEY_PEM`; in Azure, use a Key Vault reference

‎docs/local.settings.sample.json‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,19 @@
77
"EPP_DECRYPTION_KEY_PEM": "<base64 of your local test private PEM>",
88

99
"EPP_PROVIDER_NAME": "<registered-adapter-id>",
10-
"EPP_PROVIDER_ENDPOINT": "https://<provider-host>/<api-base-path>",
10+
"EPP_PROVIDER_ENDPOINT": "https://<provider-host>/<complete-send-path>",
11+
"EPP_PROVIDER_CHANNEL": "<sms-or-voice>",
12+
"EPP_PROVIDER_ENDPOINT_REGION": "<global-or-eu>",
13+
"EPP_PROVIDER_AUTH_MODE": "<apiKey-or-oauth>",
14+
"EPP_PROVIDER_TENANT_ID": "<provider-tenant-id>",
15+
"EPP_PROVIDER_APP_ID": "",
16+
"EPP_PROVIDER_SCOPE": "",
1117
"EPP_PROVIDER_TIMEOUT_MS": "1500",
18+
"EPP_PROVIDER_RETRY_INTERVAL_MS": "30000",
19+
"EPP_PROVIDER_TEST_CONFIGURATION": "false",
20+
21+
"EPP_OUTBOUND_CLIENT_ID": "",
22+
"EPP_OUTBOUND_MI_CLIENT_ID": "",
1223

1324
"KEY_VAULT_URL": "https://<provider-credential-vault>.vault.azure.net/"
1425
}

0 commit comments

Comments
 (0)