You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过New-AzStaticWebAppUserRoleInvitationLink创建邀请邮件

问题解决方法

你不需要手动生成sig签名参数,之前只看到邀请ID是因为PowerShell cmdlet默认输出只展示了3个基础字段,完整的邀请链接就藏在返回对象的属性里。

核心原因

sig是Azure Static Web Apps服务端用站点托管的专属密钥对邀请参数签名生成的校验值,签名密钥不对外暴露,本地无法自行计算生成,自行拼接的链接会因为验签失败直接失效。

操作步骤

  • 将cmdlet的返回结果存入变量,查看全量属性即可拿到完整邀请链接:
    # 执行创建邀请命令,将结果存入变量
    $invitation = New-AzStaticWebAppUserRoleInvitationLink -SubscriptionId <SubscriptionId> -ResourceGroupName <SecureStaticSiteResourceGroupName> -Name SecureStaticSiteName -Domain "<SecureStaticSiteName>.azurestaticapps.net" -Provider 'azure' -UserDetail 'test@test.com' -Role 'contributor' -NumHoursToExpiration 72
    
    # 查看返回对象的所有属性,其中InvitationUrl字段就是你要的带完整签名的有效邀请链接
    $invitation | Format-List *
    
  • 如果执行后找不到InvitationUrl属性,先升级Az.StaticWebApps模块到最新版本:
    Update-Module -Name Az.StaticWebApps -Force
    

批量操作参考脚本

你可以直接基于这个逻辑写批量处理脚本,不需要自己拼接任何链接参数:

# 导入待邀请用户列表,CSV需包含UserEmail、AssignedRole两列
$userList = Import-Csv -Path "./swa_user_invite_list.csv"
$sendRecord = @()

foreach ($user in $userList) {
    $invite = New-AzStaticWebAppUserRoleInvitationLink `
        -SubscriptionId <你的订阅ID> `
        -ResourceGroupName <静态站点资源组名> `
        -Name <静态站点名称> `
        -Domain "<静态站点名称>.azurestaticapps.net" `
        -Provider 'azure' `
        -UserDetail $user.UserEmail `
        -Role $user.AssignedRole `
        -NumHoursToExpiration 72

    $sendRecord += [PSCustomObject]@{
        UserEmail = $user.UserEmail
        AssignedRole = $user.AssignedRole
        InviteId = $invite.Name
        ValidInviteLink = $invite.InvitationUrl
        ExpireAt = (Get-Date).AddHours(72)
    }
}

# 导出邀请记录留底
$sendRecord | Export-Csv -Path "./swa_invite_send_record.csv" -NoTypeInformation -Encoding UTF8

# 后续可遍历$sendRecord,调用邮件发送接口把ValidInviteLink发给对应用户即可

注意事项

  • 命令中-Provider 'azure'参数会自动对应邀请链接里的provider=aad标识,不需要手动修改参数
  • 所有链接参数(包括过期时间、用户标识、角色、签名)都会在InvitationUrl属性里自动生成,直接使用即可,不要手动修改链接里的任何参数,否则会导致签名失效
  • 邀请链接默认有效期和你设置的-NumHoursToExpiration参数一致,过期后需要重新生成

内容的提问来源于stack exchange,提问作者OneClutteredMind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 01:30:53