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..."); logger.Info("Connecting to service...");
var connect = service.Connect(settings.ServiceUrl); var connect = service.Connect(settings.ClientId, settings.ClientSecret, settings.ServiceUrl);
if (connect.Success) 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); return TryRetrieveOAuth2Token(out message);
} }
} }

View file

@ -21,7 +21,6 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
{ {
private const int ATTEMPTS = 5; private const int ATTEMPTS = 5;
private static string connectionToken;
private static string oauth2Token; private static string oauth2Token;
private readonly HttpClient httpClient; private readonly HttpClient httpClient;
@ -30,20 +29,11 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
protected readonly ILogger logger; protected readonly ILogger logger;
protected readonly Parser parser; protected readonly Parser parser;
protected static string ClientId { get; set; }
protected static string ClientSecret { get; set; }
protected (string, string) Authorization => (Header.AUTHORIZATION, $"Bearer {oauth2Token}"); 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) protected Request(Api api, HttpClient httpClient, ILogger logger, Parser parser)
{ {
this.api = api; this.api = api;
@ -98,7 +88,7 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Service.Requests
protected bool TryRetrieveOAuth2Token(out string message) 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 authorization = (Header.AUTHORIZATION, $"Basic {secret}");
var content = "grant_type=client_credentials&scope=read write"; var content = "grant_type=client_credentials&scope=read write";
var success = TryExecute(HttpMethod.Post, api.AccessTokenEndpoint, out var response, content, ContentType.URL_ENCODED, authorization); 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); 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) }; httpClient = new HttpClient { BaseAddress = new Uri(serviceUrl) };
var request = new OAuth2TokenRequest(api, httpClient, logger, parser); 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) if (success)
{ {