为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以使用 aadHttpClientFactory 将删除/放置请求发送到 Azure AD

是否可以使用 aadHttpClientFactory 将删除/放置请求发送到 Azure AD

海绵宝宝撒 2021-12-12 09:44:55
我有一个使用 Azure AD 保护的自定义 Api,如下面的教程所示: https: //docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient 效果很好。现在我有以下代码向我的自定义 API(工作)发出 GET 请求: this.context.aadHttpClientFactory.getClient('MY_API_URL').then((client: AadHttpClient) => {  console.log(AadHttpClient.configurations.v1);   return client    .get(      `MY_API_URL/SOME_ROUTE`,      AadHttpClient.configurations.v1    );}).then(response => {  var res=  response.json();  return res;}).then( (res: any[]) => {...HERE I WOULD LIKE TO GET MY TOKEN});所以这是按照我期望的方式工作的。但是 aadHttpClientFactory 只支持 GET 和 POST 请求现在我的想法是用 jQuery 发出一些 PUT/DELETE 请求,并使用我上面得到的 Bearer 令牌(用邮递员和它的工作测试)。但后来我意识到,我不会那么容易得到令牌。当我 console.log(AadHttpClient.configurations.v1) 我只得到这个:当然,我可以将我的 API 更改为使用 POST 而不是 PUT/DELETE,但这会非常难看有没有人知道如何将令牌作为字符串来执行自定义请求?
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

AadHttpClient支持该fetch(url, configuration, options)方法,其中options可以包含Fetch API支持的所有请求配置选项。


因此,要发出 DELETE 请求,您将执行以下操作:


client

    .get(

      `MY_API_URL/SOME_ROUTE`,

      AadHttpClient.configurations.v1,

      {

          method: 'DELETE'

      }

    );


查看完整回答
反对 回复 2021-12-12
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

我现在解决了。也许我的回答以后会对某人有所帮助。根据 philippe Signoret 的回答,这是 fetch() 函数。我不得不像下面这样使用它:


        this.context.aadHttpClientFactory

        .getClient(api_url)

        .then((client: AadHttpClient) => {

          return client

            .fetch(

              MY_URL,

              AadHttpClient.configurations.v1,

              {

                method: METHOD, //put/DELETE etc.

                headers: [

                  ["Content-Type", "application/json"]

                ],


                body: JSON.stringify({

                  YOUR REQUEST BODY

                })

              }

            )

          });


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号