【问题标题】:Using Microsoft Authentication Library MSAL with PnPjs将 Microsoft 身份验证库 MSAL 与 PnPjs 一起使用
【发布时间】:2021-08-03 19:14:20
【问题描述】:

我一直在阅读 PnPjs 页面,我需要了解它的作用: https://pnp.github.io/pnpjs/authentication/msaljsclient/#calling-sharepoint-via-msal 好像是:

import { MsalClientSetup  } from "@pnp/msaljsclient";
import { sp } from "@pnp/sp/presets/all";

sp.setup({
    sp: {
        fetchClientFactory: MsalClientSetup({
            auth: {
                authority: "https://login.microsoftonline.com/mytentant.onmicrosoft.com/",
                clientId: "00000000-0000-0000-0000-000000000000",
                redirectUri: "https://mytentant.sharepoint.com/sites/dev/SitePages/test.aspx",
            },
        }, ["https://mytentant.sharepoint.com/.default"]),
    },
});

const r = await sp.web();

是否为 SharePoint 应用程序提供了一个包装器,可能是一个模拟步骤,或者是为应用程序创建者提供一个允许其他用户提升权限的包装器?如果不是(哦,我希望),那它有什么作用?

【问题讨论】:

    标签: reactjs msal spfx


    【解决方案1】:

    您必须在设置中添加 baseUrl。

    import { MsalClientSetup  } from "@pnp/msaljsclient";
    import { sp } from "@pnp/sp/presets/all";
    
    sp.setup({
        sp: {
            baseUrl: "https://{my tenant}.sharepoint.com/sites/dev/",
            fetchClientFactory: MsalClientSetup({
                auth: {
                    authority: "https://login.microsoftonline.com/mytentant.onmicrosoft.com/",
                clientId: "00000000-0000-0000-0000-000000000000",
                redirectUri: "https://mytentant.sharepoint.com/sites/dev/SitePages/test.aspx",
                 },
             }, ["https://mytentant.sharepoint.com/.default"]),
         },
    });
    
    const r = await sp.web();
    

    添加 baseUrl 后,我们可以获取 SharePoint 数据,并且可以使用上面的代码。

    【讨论】:

    • 它是否为没有完全控制权的任何用户提供了 SPFX webpart 提升的权限?
    • @NightTom,是的,您可以通过应用权限允许提升的权限。
    • 我需要租户管理员才能使用它吗?
    • @NightTom,如果您的客户端 ID 设置了所需的应用权限和范围,则无需成为租户管理员,它适用于普通用户。
    • 还没有尝试过,但如果它确实有效,那将是一个非常有用的东西。有人告诉我,SPFX 不允许任何人在没有完全控制的情况下更改权限,所以再一次,如果这行得通,那将证明是错误的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2013-02-10
    相关资源
    最近更新 更多