Я настроил API, и мой клиент может только передать client_id, чтобы получить обратно токен OAuth в качестве ответа. Он не может передать секрет клиента и redirect_url. Я попробовал использовать неявный тип и вижу приведенный ниже URL-адрес перенаправления. может кто-нибудь помочь?
{
"error": "invalid_request",
"error_description": "Redirect URI specified in the request is not configured in the client subscription"
}
Есть ли альтернативный способ?


Обратите внимание: для неявного потока грантов в качестве параметра требуется URL-адрес перенаправления. Обратитесь сюда MsDoc
Если вы не хотите передавать секрет клиента и URL-адрес перенаправления в запросе, вы можете использовать поток ROPC или поток кода устройства
Следовательно, чтобы сгенерировать токен доступа, передавая только ClientID, включите Allow public client flows как ДА.

И передайте следующий запрос:
https://login.microsoftonline.com/TenantID/oauth2/v2.0/token
client_id=ClientID
grant_type=password
username=UserName
password=Password
scope=user.read openid offline_access profile


В противном случае вы также можете использовать запрос авторизации устройства, как показано ниже:
https://login.microsoftonline.com/TenantID/oauth2/v2.0/devicecode
client_id=ClientID
scope=user.read
Это создаст verification_uri и user_code:

Теперь нажмите на verification_uri в браузере и введите код:
То есть вставьте этот URL в браузерhttps://microsoft.com/devicelogin и введите код.

И войдите в систему для аутентификации:

Создайте токен доступа, используя следующие параметры:
https://login.microsoftonline.com/TenantID/oauth2/v2.0/token
grant_type:urn:ietf:params:oauth:grant-type:device_code
client_id:ClientID
device_code:DeviceCodeFromAboveRequest
