using System.Threading.Tasks; using AspNet.Security.OAuth.Validation; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Mvc.Server.Models; namespace Mvc.Server.Controllers { [Route("api")] public class ResourceController : Controller { private readonly UserManager _userManager; public ResourceController(UserManager userManager) { _userManager = userManager; } [Authorize(ActiveAuthenticationSchemes = OAuthValidationDefaults.AuthenticationScheme)] [HttpGet("message")] public async Task GetMessage() { var user = await _userManager.GetUserAsync(User); if (user == null) { return BadRequest(); } return Content($"{user.UserName} has been successfully authenticated."); } } }