Oracle ORDS 获取会话角色

问题描述

我用谷歌搜索了好几天这个问题,但找不到适合我的问题的好资源。

我想在使用 auth2 方法(使用 client_id 和 secret_key)授权客户端调用服务后获取分配给 ORDS_PUBLIC_USER 的角色列表。怎么办?我的另一个问题是现在如何获得哪些client_id(授权)和呼叫服务?

提前致谢

解决方法

当请求新的 OAuth 令牌时,会向表 ORDS_METADATA.SEC_SESSIONS 添加一行,其中包含该令牌的信息。

在 REST API 的定义中,您应该能够使用 UTL_HTTP.GET_HEADER 获取 OAuth 令牌并在表中查找该令牌的信息。 STATEORDS_METADATA.SEC_SESSIONS 列包含 JSON,其中包含有关该令牌有权访问的内容的信息,其中包括该令牌有权访问的角色。

然后您可以使用 USERID 表的 ORDS_METADATA.SEC_SESSIONS 列匹配 CLIENT_IDORDS_METADATA.OAUTH_CLIENTS 表/视图的 USER_ORDS_CLIENTS 列以查找令牌关联的 OAuth 客户端。