这是我的代码,它是一个简单的排列代码块:
void arrange(char c[], int N, int start)
{
if (start == N)
{
print(c, N);
return;
}
for (int i = start; i < N; i++)
{
swap(c[start], c[i]);
arrange(c, N, i + 1);
swap(c[start], c[i]);
}
}
int main(int argc, char const *argv[])
{
char c[] = { 'A','B','C' };
int N = (sizeof(c) / sizeof(char));
arrange(c, N, 0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它没有给出我期望的输出,我想调试这段代码。我想观察输入数组中的字符交换。但是当我调试时,输入数组无法扩展。
我正在使用 PKCE 跟踪身份验证代码流,我的身份提供程序是 Azure Active Directory。我从应用程序注册创建了一个应用程序“客户端应用程序”。在清单中,我添加了如下所示的 appRoles。
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"displayName": "StoreGroupManager",
"id": "47fbb575-859a-4941-89c9-0f7a6c30beac",
"isEnabled": true,
"description": "Consumer apps have access to the consumer data.",
"value": "StoreGroupManager"
}
]
Run Code Online (Sandbox Code Playgroud)
我将此角色 StoreGroupManager 分配给用户。现在,当我使用 PKCE 遵循授权代码流程并获取 id_token 、刷新令牌和 access_token 时。我可以看到 id_token 有声明角色,但没有 access_token。我需要在 access_token 中拥有角色声明。这可能吗?以下是解码后的 id_token。