// Must match Google settings
var redirectUri = "https://localhost:7259/GoogleLogin/google-callback";
var tokenRequestParams = new Dictionary
{
{ "code", code },
{ "client_id", googleClientId },
{ "client_secret", googleClientSecret },
{ "redirect_uri", redirectUri },
{ "grant_type", "authorization_code" }
};
var tokenResponse = await _httpClient.PostAsync("https://oauth2.googleapis.com/token",
new FormUrlEncodedContent(tokenRequestParams));
< /code>
Затем, после проверки токена, я не уверен, как подписать пользователя в моем приложении. Чтобы создать моего собственного пользователя с этим электронным письмом и ввести этот недавно созданный пользователь: < /p>
private async Task SignInUserAndCreateIfNeededAsync(GoogleJsonWebSignature.Payload payload)
{
// Check if user exists in Identity database
var user = await _userManager.FindByEmailAsync(payload.Email);
if (user == null)
{
// Create a new user if not found
user = new ClipperIdentityUser
{
UserName = payload.Email,
Email = payload.Email,
EmailConfirmed = true
};
var result = await _userManager.CreateAsync(user);
if (!result.Succeeded)
{
return BadRequest("Failed to create user.");
}
}
// Sign in the user
await _signInManager.SignInAsync(user, isPersistent: false);
return Ok(new
{
UserId = payload.Subject,
Email = payload.Email,
Name = payload.Name,
Picture = payload.Picture
});
}
Вопрос: есть ли способ просто использовать токен Google? Без необходимости хранить пользователя в моей собственной базе данных, отражающий его? Это кажется искушенным.
И я думаю, что этот вопрос относится не только к Google Auth, но и к любому другому внешнему поставщику авто.>
Я интегрировал вход в Google с моим приложением asp.net. /> [code]// Must match Google settings var redirectUri = "https://localhost:7259/GoogleLogin/google-callback";
var tokenResponse = await _httpClient.PostAsync("https://oauth2.googleapis.com/token", new FormUrlEncodedContent(tokenRequestParams)); < /code> Затем, после проверки токена, я не уверен, как подписать пользователя в моем приложении. Чтобы создать моего собственного пользователя с этим электронным письмом и ввести этот недавно созданный пользователь: < /p> private async Task SignInUserAndCreateIfNeededAsync(GoogleJsonWebSignature.Payload payload) { // Check if user exists in Identity database var user = await _userManager.FindByEmailAsync(payload.Email); if (user == null) { // Create a new user if not found user = new ClipperIdentityUser { UserName = payload.Email, Email = payload.Email, EmailConfirmed = true };
var result = await _userManager.CreateAsync(user);
if (!result.Succeeded) { return BadRequest("Failed to create user."); } }
// Sign in the user await _signInManager.SignInAsync(user, isPersistent: false);
return Ok(new { UserId = payload.Subject, Email = payload.Email, Name = payload.Name, Picture = payload.Picture }); } [/code] [b] Вопрос: [/b] есть ли способ просто использовать токен Google? Без необходимости хранить пользователя в моей собственной базе данных, отражающий его? Это кажется искушенным. И я думаю, что этот вопрос относится не только к Google Auth, но и к любому другому внешнему поставщику авто.>
Я создал два веб -сервиса: первый - это ядро ASP .NET для обслуживания RESTFULL HTTP; Второй - ядро ASP .NET с MVC. Первый имеет API, которые хранят несколько данных в базе данных. У второго есть представления, которые называют API первой...
Я создал два веб -сервиса: первый - это ядро ASP .NET для обслуживания RESTFULL HTTP; Второй - ядро ASP .NET с MVC. Первый имеет API, которые хранят несколько данных в базе данных. Второй имеет представления, которые называют API первой...
Я настроил базовый контроллер веб-API ASP.NET Core 8, используя пакет AspNetCore.Identity.MongoDbCore для подключения к коллекции MongoDB, и добавил конечную точку /api/user/{username .
Program.cs:
using Microsoft.AspNetCore.Identity;
using...
Я настроил базовый контроллер веб-API ASP.NET Core 8, используя пакет AspNetCore.Identity.MongoDbCore для подключения к коллекции MongoDB, и добавил конечную точку /api/user/{username .
Program.cs:
using Microsoft.AspNetCore.Identity;
using...