Как устанавливается значение требования аудита в маркере доступа ROPC - PullRequest
0 голосов
/ 28 мая 2019

Я генерирую токен авторизации для запуска наших тестов API, используя метод ниже.

    /// <summary>
    /// This method returns the Bearer token with User as a claim
    /// </summary>
    /// <param name="tenantId">Tenant Id for the environment in use</param>
    /// <param name="userName">Email Id of the user</param>
    /// <param name="password">Password of the user</param>
    /// <returns>string with the complete Bearer token</returns>
    public async Task<string> GetAccessTokenROPC(string tenantId, string userName, string password)
    {
        string tokenUrl = string.Concat("https://login.microsoftonline.com/", tenantId, "/oauth2/v2.0/token");
        var req = new HttpRequestMessage(HttpMethod.Post, tokenUrl)
        {
            Content = new FormUrlEncodedContent(new Dictionary<string, string>
            {
                ["client_id"] = this.utils.GetClientId(),
                ["scope"] = "user.read openid profile email offline_access",
                ["client_secret"] = this.utils.GetClientSecret(),
                ["username"] = userName,
                ["password"] = password,
                ["grant_type"] = "password"
            })
        };

Ответ успешно сгенерирован и имеет токен доступа с приведенными ниже претензиями. Мой запрос состоит в том, какая часть кода в вышеупомянутом методе заботится об утверждении aud и как это установлено https://graph.microsoft.com?:

{
  "aud": "https://graph.microsoft.com",
  "iss": "https://sts.windows.net/fa774de7-cc34-4a2d-838f-b83fdexxxxxxx/",
  "iat": 1558960514,
  "nbf": 1558960514,
  "exp": 1558964414,
  "acct": 0,
  "acr": "1",
  "aio": 
  .
  .
  .
}

1 Ответ

0 голосов
/ 28 мая 2019

Вы запросили область user.read, которая является краткой формой для https://graph.microsoft.com/user.read.

Итак, вы запросили токен для вызова MS Graph API.И у вас есть жетон, чтобы передать туда запросы.Вы бы указали области действия для другого API, если хотите получить токен доступа с другой аудиторией.

...