Hi, Holmes.
We can't afford offering support for such compex tasks as writting custom OIDC clients within the scope of community support. You'll have to research it all on your own. A few points, though:
1. `id_token_hint` is not a mandatory parameter for logout flow, and can be omitted; `session_id` is much more important, and must be passed to `/end_session` either in cookies (usual way, as we're talking about frontchannel logout), or in url query string, if cookies are not an option.
2. Try to research [the core spec](https://openid.net/specs/openid-connect-core-1_0.html); most of the flows imply that `id_token` is issued during them, so I'm not sure what kind of difficulties you face; it's either you don't configure your app properly, or don't use correct settings for your client at Gluu, or both, or you're using a flow which don't use `id_token` (afaicr there is only one such flow)
3. Try to record the actual HTTP requests and response Check your client's registration at Gluu Server, make sure they match the intended flow as it's described in the spec; approach will depend on your dev environment, you could add logging lines to your code, or you could enable `mod_dumpio` in Gluu's Apache server and try to retrieve this data from trace it generates
4. [Increase logging verbosity](https://gluu.org/docs/ce/3.1.4/operation/logs/) for oxAuth, try to investigate `oxauth.log` for clues