A CRM endpoint with no secret to rotate

The read only CRM endpoint used to prove itself to the directory with a client secret, a value held in the host's configuration with an expiry two years out. Nothing in that arrangement reminds anyone before the date, and once it passes the failure looks like a broken connector rather than an expired credential. The […]

  • The read only CRM endpoint used to prove itself to the directory with a client secret, a value held in the host's configuration with an expiry two years out. Nothing in that arrangement reminds anyone before the date, and once it passes the failure looks like a broken connector rather than an expired credential.
  • The host now proves itself with its own platform identity. The directory holds a federated credential naming that identity as allowed to act for the endpoint's registration, so the endpoint obtains the same read only access as before while holding no secret at all. There is nothing to rotate and nothing to expire.
  • The credential mode is declared in configuration rather than inferred from whether a secret happens to be present. A leftover secret beside the platform identity stops the process from starting, so a migration that is only half finished is loud instead of silently still running on the old credential.
  • The deployment no longer builds on the host. It ships its dependencies and runs from the package, because a host build fetches a runtime at deploy time and a stalled fetch leaves the site half written. The deployment is verified by reading its record back, not by the upload's return code.