Skip to content

Conversation

@ryanbas21
Copy link
Contributor

@ryanbas21 ryanbas21 commented Jan 2, 2026

https://pingidentity.atlassian.net/browse/SDKS-4446

Summary

  • Remove legacy VAR_NAME=$VAR_NAME pattern from all sample app environment templates
  • Replace with empty values (VAR_NAME=) to prevent literal $VAR_NAME strings from being populated at runtime

Background

The old pattern was a legacy from when sample apps were deployed through Docker. This is no longer the case, and the placeholders caused issues when users didn't want to use a variable - the literal string $VAR_NAME would be populated at runtime instead of an empty value.

Changes

Updated 8 .env.example files:

  • angular-todo/.env.example
  • angular-todo-davinci/.env.example
  • central-login-oidc/.env.example
  • embedded-login/.env.example
  • embedded-login-davinci/.env.example
  • reactjs-todo/.env.example
  • reactjs-todo-davinci/.env.example
  • todo-api/.env.example

Test plan

  • Linting passes across all workspaces
  • Angular app builds successfully
  • No =$VAR_NAME patterns remain in codebase

Notes

External documentation that references the old VAR_NAME=$VAR_NAME pattern will need to be updated separately.

Change VAR_NAME=$VAR_NAME pattern to VAR_NAME= in all sample app
environment templates. The old pattern was a legacy from Docker
deployments and caused literal $VAR_NAME strings to be populated
at runtime when variables were not set.
# 'flow' relies on the PingOne Protect collector for initialization
PINGONE_ENV_ID=$PINGONE_ENV_ID # required when ProtectCollector is present
WELLKNOWN_URL=
INIT_PROTECT= # bootstrap | flow
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm concerned if we leave comments on the same line we can run into the same problem. Can we move all comments to new lines?

SCOPE= // For using "PINGONE" as the server type, the `revoke` scope must be set as well.
TIMEOUT=
WEB_OAUTH_CLIENT=
NX_NO_CLOUD=true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this?

SCOPE=$SCOPE // For using "PINGONE" as the server type, the `revoke` scope must be set as well.
TIMEOUT=$TIMEOUT
WEB_OAUTH_CLIENT=$WEB_OAUTH_CLIENT
SCOPE= // For using "PINGONE" as the server type, the `revoke` scope must be set as well.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be # instead of //?

REALM_PATH=
SCOPE=
TIMEOUT=
TREE= # Remove the TREE variable to use the default tree/journey
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can actually remove this comment now

Comment on lines +17 to +20
INIT_PROTECT= # bootstrap | journey
# 'bootstrap' will initialize protect at app bootstrap time
# 'journey' relies on the PingOneProtectInitialize callback for initialization
PINGONE_ENV_ID= # required when PingOne Protect callbacks are present
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move these comments to new lines too?

Comment on lines +1 to +6
SERVER_TYPE= # 'AIC' or 'PINGONE'
SERVER_URL= # AM URL for AIC or PingOne base URL with env ID for PingOne
PORT=
REALM_PATH= # 'alpha' or 'beta' for AIC server type. Not used for PingOne.
REST_OAUTH_CLIENT= # Confidential client ID for AIC or WebApp public client ID for PingOne
REST_OAUTH_SECRET= # Confidential client secret for AIC. Not used for PingOne.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants