SEBWIN-923: Removed hardcoded client credentials for SPS and used actual ones from join instruction.

This commit is contained in:
Damian Büchel 2024-08-12 14:42:09 +02:00
parent a1bfaadcd9
commit febfd944e0
4 changed files with 11 additions and 18 deletions

View file

@ -166,7 +166,7 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring
{
logger.Info("Connecting to service...");
var connect = service.Connect(settings.ServiceUrl);
var connect = service.Connect(settings.ClientId, settings.ClientSecret, settings.ServiceUrl);
if (connect.Success)
{

View file

@ -17,8 +17,11 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
{
}
internal bool TryExecute(out string message)
internal bool TryExecute(string clientId, string clientSecret, out string message)
{
ClientId = clientId;
ClientSecret = clientSecret;
return TryRetrieveOAuth2Token(out message);
}
}

View file

@ -21,7 +21,6 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
{
private const int ATTEMPTS = 5;
private static string connectionToken;
private static string oauth2Token;
private readonly HttpClient httpClient;
@ -30,20 +29,11 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
protected readonly ILogger logger;
protected readonly Parser parser;
protected static string ClientId { get; set; }
protected static string ClientSecret { get; set; }
protected (string, string) Authorization => (Header.AUTHORIZATION, $"Bearer {oauth2Token}");
internal static string ConnectionToken
{
get { return connectionToken; }
set { connectionToken = value; }
}
internal static string Oauth2Token
{
get { return oauth2Token; }
set { oauth2Token = value; }
}
protected Request(Api api, HttpClient httpClient, ILogger logger, Parser parser)
{
this.api = api;
@ -98,7 +88,7 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
protected bool TryRetrieveOAuth2Token(out string message)
{
var secret = Convert.ToBase64String(Encoding.UTF8.GetBytes("test:test"));
var secret = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{ClientId}:{ClientSecret}"));
var authorization = (Header.AUTHORIZATION, $"Basic {secret}");
var content = "grant_type=client_credentials&scope=read write";
var success = TryExecute(HttpMethod.Post, api.AccessTokenEndpoint, out var response, content, ContentType.URL_ENCODED, authorization);

View file

@ -33,12 +33,12 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service
this.parser = new Parser(logger);
}
internal ServiceResponse Connect(string serviceUrl)
internal ServiceResponse Connect(string clientId, string clientSecret, string serviceUrl)
{
httpClient = new HttpClient { BaseAddress = new Uri(serviceUrl) };
var request = new OAuth2TokenRequest(api, httpClient, logger, parser);
var success = request.TryExecute(out var message);
var success = request.TryExecute(clientId, clientSecret, out var message);
if (success)
{