Как получить другой URL -адрес запроса API в моем API и установить аудиторию?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить другой URL -адрес запроса API в моем API и установить аудиторию?

Сообщение Anonymous »

У меня есть два API, mainapi и ioapi .
Я пытаюсь установить токен JWT для аутентификации, когда я пытаюсь получить данные из ioapi , во -первых, получить токен, а затем получить авторизацию данных. Авторизировать данные.
Я пытаюсь установить установку URL Mainapi в моей аудитории ioapi , но на нем нет Mainapi . . < /p>
Это мой код API: < /p>

Код: Выделить всё

[HttpGet]
[Route("GetInputByID1")]
public async Task GetInputByID1()
{
try
{
var tokenResponse = await client.GetAsync("http://localhost:5173/api/Auth/GenerateToken");

if (!tokenResponse.IsSuccessStatusCode)
{
return StatusCode((int)tokenResponse.StatusCode, "Failed to get JWT token from DBAPI.");
}

var tokenResult = await tokenResponse.Content.ReadAsStringAsync();
var tokenObj = JsonConvert.DeserializeObject(tokenResult);
string jwtToken = tokenObj?.token;

return Ok(jwtToken);
}
catch (Exception ex)
{
_logger.LogError($"Error: {ex.Message}");
return StatusCode(500, $"An error occurred: {ex.Message}");
}
}
< /code>
IoApi
:

Код: Выделить всё

[HttpGet("GenerateToken")]
public IActionResult GenerateToken()
{
var request = HttpContext.Request;
string callerUrl =$"{ request.Scheme }://{ request.Host }{ request.Path }{ request.QueryString }";
_logger.LogInformation($"base ....... {callerUrl}");

var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("sJw1Pq5/D2S98XTX7h0IrsnZ5/Eih8XocFq58a0vIVY="));
var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);

var claims = new List
{
new Claim(JwtRegisteredClaimNames.Iss, "http://localhost:5173"),
new Claim(JwtRegisteredClaimNames.Aud, callerUrl)
};

var tokenOptions = new JwtSecurityToken(
issuer: "http://localhost:5173",
audience: callerUrl,
claims: claims,
expires: DateTime.UtcNow.AddMinutes(30),
signingCredentials: signinCredentials
);

var tokenString = new JwtSecurityTokenHandler().WriteToken(tokenOptions);

return Ok(new { Token = tokenString });
}

[Authorize]
[HttpGet]
public IActionResult GetData()
{
return Ok(new { message = "Protected data retrieved successfully!" });
}
< /code>
When I call fromMainApi
to ioapi , нет установки URL Mainapi в моем ioapi .
Как сделать Mainapi запрос URL установлен в моей аудитории?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... t-audience
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»