我正在努力利用 AD 的使用对多个应用程序进行身份验证和授权,并且我目前正在研究如何实现上述过程。
这是用于 Web 浏览器到 Web 应用程序的流程。
我创建了一个 AuthenticationContext 实例并使用它来登录,并且这些功能正常。(为了演示目的简化了代码组织)
this.adal = new AuthenticationContext({
tenant: this.tenantId,
clientId: this.clientId,
redirectUri: this.redirectUri,
callback: this.loginCallback,
popUp: true
});
this.adal.login();
Run Code Online (Sandbox Code Playgroud)
当我尝试获取令牌时,行为变得可疑。可以说 AD 中此应用程序的注册表在 Microsoft Graph API 上具有“登录并读取用户配置文件”权限。
this.adal.acquireToken("https://graph.microsoft.com", function(error, token) {
console.log(error);
console.log(token);
});
Run Code Online (Sandbox Code Playgroud)
错误写入控制台如下:“Token更新操作因超时而失败”;whilest 标记被写入为空对象。在使用 Chrome 检查页面时简要查看“网络”选项卡会发现这样的资源:
authorize?response_type=token&client_id=xxxxx&resource=xxxxx&redirect_uri=http://localhost:8080(.....)
Run Code Online (Sandbox Code Playgroud)
所述资源的状态为 302。
有什么线索吗?谢谢!
我正在尝试创建一个函数,它返回一个可以在FROM子句中使用的对象.根据对oracle文档的研究,我发现PIPELINED函数是我需要的.
我有这个代码:
CREATE TYPE type_struct AS OBJECT
(
i NUMBER
);
CREATE TYPE tp_struct AS TABLE OF type_struct;
CREATE OR REPLACE FUNCTION gen_nums (na NUMBER, nb NUMBER)
RETURN tp_struct PIPELINED
IS
rec type_struct;
counter NUMBER;
BEGIN
counter := na;
WHILE (counter <= nb)
LOOP
SELECT counter
INTO rec
FROM dual;
counter := counter + 1;
PIPE ROW (rec);
END LOOP;
RETURN;
END gen_nums;
/
Run Code Online (Sandbox Code Playgroud)
预期结果是一个表格,其中包含从"na"到"nb"的记录.
但是在编译函数时出现此错误:
ORA 00932不一致的数据类型预计udt得到的数字