HKUDS/nanobot · error · RuntimeError

Bot Framework OpenID config missing jwks_uri

Error message

Bot Framework OpenID config missing jwks_uri

What it means

Error "Bot Framework OpenID config missing jwks_uri" thrown in HKUDS/nanobot.

Source

Thrown at nanobot/channels/msteams/runtime.py:544

        openid_config = cast(dict[str, Any], resp.json())
        self._botframework_openid_config = openid_config
        self._botframework_openid_config_expires_at = now + 3600
        return openid_config

    async def _get_botframework_jwks(self) -> dict[str, Any]:
        """Fetch and cache Bot Framework JWKS."""

        now = time.time()
        if self._botframework_jwks and now < self._botframework_jwks_expires_at:
            return self._botframework_jwks

        if not self._http:
            raise RuntimeError("MSTeams HTTP client not initialized")

        openid_config = await self._get_botframework_openid_config()
        jwks_uri = str(openid_config.get("jwks_uri") or "").strip()
        if not jwks_uri:
            raise RuntimeError("Bot Framework OpenID config missing jwks_uri")

        resp = await self._http.get(jwks_uri)
        resp.raise_for_status()
        jwks = cast(dict[str, Any], resp.json())
        self._botframework_jwks = jwks
        self._botframework_jwks_expires_at = now + 3600
        return jwks

    @staticmethod
    def _safe_float(value: object) -> float | None:
        try:
            out = float(cast(Any, value))
            if out > 0:
                return out
        except (TypeError, ValueError):
            return None
        return None

View on GitHub (pinned to 42f37dc4c0)

When it happens

Trigger: Thrown at nanobot/channels/msteams/runtime.py:544 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26). Data as JSON: /api/errors/23c0ae48fe6e1e3d. Report an issue: GitHub.