IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Microsoft Graph JavaScript SDK 3.0.0 正式发布 -> 正文阅读

[JavaScript知识库]Microsoft Graph JavaScript SDK 3.0.0 正式发布

该版本支持多重身份验证流,并增强了大文件上传任务。新版本中引入的更改是不向后兼容的,关于升级客户端的具体操作请参见升级指导书

Microsoft Graph JS SDK 3.0.0 需要 Node.js 12 LTS 或更高版本。源码使用 TypeScript 4.x 实现。

认证增强

在这次更新中,微软通过添加对 @azure/msal-browser 和 @azure/identity 的支持,实现了对多重身份验证流的支持。此更新还删除了 ImplicitMSALAuthenticationProvider。

使用 @azure/msal-browser 支持认证代码流

Microsoft Graph JavaScript SDK 3.0.0 通过引入 AuthCodeMSALBrowserAuthenticationProvider 类来增强身份验证。这个类增加了使用 @azure/msal-browser 进行身份验证的支持。这个 MSAL 库支持基于浏览器的应用程序的 PKCE 授权代码流

如果想知道它是否是你需要的认证提供程序,请访问微软 Docs 的宝库文章👇
Choose a Microsoft Graph authentication provider based on scenario

import {
  PublicClientApplication,
  InteractionType,
  AccountInfo,
} from "@azure/msal-browser";
import {
  AuthCodeMSALBrowserAuthenticationProvider,
  AuthCodeMSALBrowserAuthenticationProviderOptions,
} from "@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";

const options: AuthCodeMSALBrowserAuthenticationProviderOptions = {
  account,
  interactionType: InteractionType.PopUp,
  scopes: ["user.read", "mail.send"],
};

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(
  publicClientApplication,
  options
);

const graphClient = Client.initWithMiddleware({
  authprovider,
});

使用 @azure/identity 启用客户端凭据流等功能

JavaScript SDK 3.0.0 引入了 TokenCredentialAuthenticationProvider 类,它允许使用 @azure/identity 身份凭证类进行身份验证。

TokenCredentialAuthenticationProvider 类添加了以下新功能:

  • 使用证书类 (如 ClientSecretCredentialClientCertificateCredential) 进行服务器端身份验证。
  • 使用证书类 (如 DeviceCodeCredentialVisualStudioCodeCredentialDefaultAzureCredential) 支持多重身份验证流。

TokenCredentialAuthenticationProvider.
creating an instance of TokenCredentialAuthentication

删除了 ImplicitMSALAuthenticationProvider

ImplicitMSALAuthenticationProvider 类将从 3.0.0 版的 Microsoft Graph JavaScript SDK 开始不可用。

根据 OAuth 2.0隐式授权,微软不再推荐使用 ImplicitMSALAuthenticationProvider,即使用隐式授权流。

使用Node.js Stream上传较大的文件

LargeFileTaskUpload 类允许你上传文件到 OneDrive、Outlook 和 Universal Print。在这个版本中,微软添加了 StreamUpload(支持 Node.JS Stream) 和 FileUpload(支持 ArrayBuffer、Blob 和 Buffer 等文件格式的上传)。

现在可以使用 UploadEventHandlers 跟踪上传的进度。

下面的示例展示了如何使用新的 StreamUpload 类。

import StreamUpload from "@microsoft/microsoft-graph-client";

import * as fs from "fs";

const fileName = "<FILE_NAME>";

const stats = fs.statSync(`./test/sample_files/${fileName}`);

const totalsize = stats.size;

const readStream = fs.createReadStream(`./test/sample_files/${fileName}`);

const fileObject = new StreamUpload(readStream, fileName, totalsize);

const progress = (range?: Range, extraCallBackParam?: unknown) => {

  // Handle progress event

};

const uploadEventHandlers: UploadEventHandlers = {

  progress,

  extraCallBackParam,

};

const options: LargeFileUploadTaskOptions = {

  rangeSize: 327680,

  uploadEventHandlers: UploadEventHandlers,

};

const uploadTask = new LargeFileUploadTask(client, fileObj, uploadSession, options);

const uploadResult: UploadResult = await uploadTask.upload();

要了解关于此更新的更多信息,请参阅大文件上传任务

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 11:57:40  更:2021-08-19 11:57:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:57:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码