forked from MDCPS/DamageAssessment_Backend
		
	added new endpoint to generate dade school token
This commit is contained in:
		| @ -5,6 +5,7 @@ using DamageAssesment.Api.UsersAccess.Models; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.Extensions.Options; | ||||
| using Microsoft.IdentityModel.Tokens; | ||||
| using Newtonsoft.Json; | ||||
| using System.Data; | ||||
| using System.IdentityModel.Tokens.Jwt; | ||||
| using System.Security.Claims; | ||||
| @ -20,8 +21,9 @@ namespace DamageAssesment.Api.UsersAccess.Providers | ||||
|         //private readonly IEmployeeServiceProvider employeeServiceProvider; | ||||
|         private readonly JwtSettings jwtSettings; | ||||
|         private readonly ITokenServiceProvider tokenServiceProvider; | ||||
|         private readonly IConfiguration configuration; | ||||
|  | ||||
|         public UsersAccessProvider(IOptions<JwtSettings> options, ITokenServiceProvider tokenServiceProvider, UsersAccessDbContext userAccessDbContext, IEmployeeServiceProvider employeeServiceProvider, ILogger<UsersAccessProvider> logger, IMapper mapper) | ||||
|         public UsersAccessProvider(IConfiguration configuration,IOptions<JwtSettings> options, ITokenServiceProvider tokenServiceProvider, UsersAccessDbContext userAccessDbContext, IEmployeeServiceProvider employeeServiceProvider, ILogger<UsersAccessProvider> logger, IMapper mapper) | ||||
|         { | ||||
|             this.userAccessDbContext = userAccessDbContext; | ||||
|             //this.employeeServiceProvider = employeeServiceProvider; | ||||
| @ -29,7 +31,8 @@ namespace DamageAssesment.Api.UsersAccess.Providers | ||||
|             this.mapper = mapper; | ||||
|             jwtSettings = options.Value; | ||||
|             this.tokenServiceProvider = tokenServiceProvider; | ||||
|            // seedData(); | ||||
|             this.configuration = configuration; | ||||
|             // seedData(); | ||||
|         } | ||||
|  | ||||
|         public void seedData() | ||||
| @ -239,6 +242,35 @@ namespace DamageAssesment.Api.UsersAccess.Providers | ||||
|                   return (false, null, "Credentials are required to authenticate."); | ||||
|               } | ||||
|         } | ||||
|         public async Task<(bool IsSuccess, DadeSchoolToken TokenResponse, string ErrorMessage)> DadeSchoolAuthenticateAsync(string username, string password) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 var client = new HttpClient(); | ||||
|                 var request = new HttpRequestMessage(HttpMethod.Post, configuration.GetValue<string>("Dadeschools:TokenUrl")); | ||||
|                 var collection = new List<KeyValuePair<string, string>>(); | ||||
|                 collection.Add(new("client_id", configuration.GetValue<string>("Dadeschools:TokenClientId"))); | ||||
|                 collection.Add(new("client_secret", configuration.GetValue<string>("Dadeschools:TokenClientSecret"))); | ||||
|                 collection.Add(new("scope", configuration.GetValue<string>("Dadeschools:scope"))); | ||||
|                 collection.Add(new("grant_type", configuration.GetValue<string>("Dadeschools:grant_type"))); | ||||
|                 collection.Add(new("username", username)); | ||||
|                 collection.Add(new("password", password)); | ||||
|                 var content = new FormUrlEncodedContent(collection); | ||||
|                 request.Content = content; | ||||
|                 var response = await client.SendAsync(request); | ||||
|                 var responseString = await response.Content.ReadAsStringAsync(); | ||||
|                 if (response.IsSuccessStatusCode) | ||||
|                 { | ||||
|                     return (true, JsonConvert.DeserializeObject<DadeSchoolToken>(responseString), ""); | ||||
|                 } | ||||
|                 return (false, null, responseString); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 return (false, null, ex.Message); | ||||
|             } | ||||
|  | ||||
|         } | ||||
|         public async Task<(bool IsSuccess, IEnumerable<Models.Role> Roles, string ErrorMessage)> GetRolesAsync() | ||||
|         { | ||||
|             try | ||||
|  | ||||
		Reference in New Issue
	
	Block a user