Skip to content

feat(ords-remix-jwt-sample): add OCI IAM and OCS#435

Open
yassineouabou wants to merge 1 commit into
oracle:mainfrom
yassineouabou:feature/sample-app-oracle-iam-oci-ords
Open

feat(ords-remix-jwt-sample): add OCI IAM and OCS#435
yassineouabou wants to merge 1 commit into
oracle:mainfrom
yassineouabou:feature/sample-app-oracle-iam-oci-ords

Conversation

@yassineouabou
Copy link
Copy Markdown

[PR] feat(ords-sample-app): add OCI IAM/OIDC auth and OCS Setup

Description

This PR ports the ords-remix-jwt-sample template from Auth0-based auth to OCI IAM OIDC with minimal functional changes, and aligns ORDS lifecycle scripts for OCI/OCS usage.

What changed

  • Replaced Auth0 strategy with OIDC (remix-auth-oauth2) in Remix auth flow.
  • Added /oidc login route and updated login/logout/callback handling.
  • Added OIDCProfile model and updated affected component/model typings.
  • Updated env/config constants to support OCI IAM (OIDC_*) and Base DB/ORDS settings (BD_*), while keeping legacy Auth0 fallback support in constants.
  • Switched ORDS migrate/seed/drop scripts to direct SQL via oracledb (thick mode), with new DB utilities:
    • ords/utils/oracleConnection.js
    • ords/utils/sqlExecutionLogger.js
  • Added ords_config_service assets for OCI Database API Gateway / OCS integration:
    • apispec.json
    • generate_from_plsql.mjs
    • oci_requests.sh
  • Updated docs (.env.example, ords/README.MD, ords/security/README.MD).
  • Fixed Vite client/server boundary issue by removing server-only import usage from client components:
    • EventForm.tsx
    • VenuesForm.tsx

Dependencies / requirements

  • New npm deps:
    • remix-auth-oauth2
    • oracledb
  • Runtime requirement for ORDS scripts:
    • Oracle Instant Client (ORACLE_CLIENT_LIB_DIR) for oracledb thick mode.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Validation performed:

  • Static syntax validation for updated ORDS scripts:
    • node --check ords/migrate.js ords/seed.js ords/drop.js
    • node --check ords/utils/oracleConnection.js ords/utils/sqlExecutionLogger.js
    • node --check ords/RESTfulServices/RESTSchema.js ords/migrateScripts/schemaObjects.js ords/utils/dropUser.js
  • Verified no client component imports server-only constants modules.
  • Full app runtime validation (npm run dev, login/logout/callback flow)
  • Full lint/typecheck/unit tests in a fully installed environment

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings/errors (for validated files)
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Signed-off-by: yassineouabou <wayasyt@gmail.com>
@oracle-contributor-agreement
Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. label May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Required At least one contributor does not have an approved Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant