首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Get-MsalToken错误AADSTS7000218:请求主体必须包含以下参数:“client_assertion”或“client_secret”

Get-MsalToken错误AADSTS7000218:请求主体必须包含以下参数:“client_assertion”或“client_secret”
EN

Stack Overflow用户
提问于 2021-05-17 16:02:40
回答 1查看 7.6K关注 0票数 9

这是我的PowerShell脚本

代码语言:javascript
复制
$connectionDetails = @{
    'TenantId'    = '****-****'
    'ClientId'    = '****-****'
    'Interactive' = $true
    'Scopes' = '****-****'
    'RedirectUri' = '****-****'
}

$token = Get-MsalToken @connectionDetails

$accessToken = $token.AccessToken

write-output $accessToken

它的错误如下:

AADSTS7000218:请求主体必须包含以下参数:“client_assertion”或“client_secret”

我为什么要犯这个错误?我怎么才能修好它?

EN

Stack Overflow用户

发布于 2021-05-18 00:59:41

请看公共客户端应用程序与机密客户端应用程序的区别

机密客户端应用程序可以安全地保存应用程序机密,而公共客户端则不安全。

因此,您遇到的错误意味着您的应用程序注册是机密客户端应用程序(在创建它时,您选择了),它要求您提供ClientSecret,但您没有指定它。

所以你有两个选择来解决这个问题。

第一个是在脚本中提供ClientSecret (不修改Azure门户上的任何内容):

代码语言:javascript
复制
$connectionDetails = @{
    'TenantId'    = '****-****'
    'ClientId'    = '****-****'
    'ClientSecret'= '****-****'
    'Interactive' = $true
    'Scopes' = '****-****'
    'RedirectUri' = '****-****'
}

第二个是将您的应用程序注册从机密客户端应用程序更改为Azure门户->上的公共客户端应用程序,您的应用程序注册->清单。(不修改脚本)

Get-MsalToken.ps1还包括以下两个示例:

代码语言:javascript
复制
.EXAMPLE
    PS C:\>Get-MsalToken -ClientId '00000000-0000-0000-0000-000000000000' -TenantId '00000000-0000-0000-0000-000000000000' -Interactive -Scope 'https://graph.microsoft.com/User.Read' -LoginHint user@domain.com
    Force interactive authentication to get AccessToken (with MS Graph permissions User.Read) and IdToken for specific Azure AD tenant and UPN using client id from application registration (public client).

.EXAMPLE
    PS C:\>Get-MsalToken -ClientId '00000000-0000-0000-0000-000000000000' -ClientSecret (ConvertTo-SecureString 'SuperSecretString' -AsPlainText -Force) -TenantId '00000000-0000-0000-0000-000000000000' -Scope 'https://graph.microsoft.com/.default'
    Get AccessToken (with MS Graph permissions .Default) and IdToken for specific Azure AD tenant using client id and secret from application registration (confidential client).
票数 12
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67573253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档