>this.apiCall("auth/SignIn", email ? { email: email } : {}, {}, false, logSettings);
}*/
signOut() {
const logSettings: ApiLogSettings = {};
- return this.apiCall("auth/powerbi/SignOut", {}, {}, false, logSettings);
+ return this.apiCall("auth/SignOut", {}, {}, false, logSettings);
}
getUserAvatar() {
diff --git a/src/Scripts/model/pbi-cloud.ts b/src/Scripts/model/pbi-cloud.ts
index 652df87a..d1859b3a 100644
--- a/src/Scripts/model/pbi-cloud.ts
+++ b/src/Scripts/model/pbi-cloud.ts
@@ -4,26 +4,13 @@
* https://www.sqlbi.com
*/
-export interface PBICloudEnvironment {
- type: PBICloudEnvironmentType
- name?: string
- description?: string
- aadAuthority?: string
- aadClientId?: string
- aadRedirectAddress?: string
- aadResource?: string
- aadScopes?: string
- serviceEndpoint?: string
- clusterEndpoint?: string
+export interface CloudEnvironment {
+ name: string
+ description: string
+ authorityUri: string
+ clientId: string
+ redirectUri: string
+ resourceId: string
+ backendUri: string
+ clusterUri: string
}
-
-export enum PBICloudEnvironmentType {
- Unknown = 0,
- Custom = 1,
- Public = 2,
- Germany = 3,
- China = 4,
- USGov = 5,
- USGovHigh = 6,
- USGovMil = 7
-}
\ No newline at end of file
diff --git a/src/Scripts/model/pii.ts b/src/Scripts/model/pii.ts
index affd3db6..bdcd323e 100644
--- a/src/Scripts/model/pii.ts
+++ b/src/Scripts/model/pii.ts
@@ -7,7 +7,7 @@
// Personal identifiable information - Used by anonymization
const userPii = [
- "userPrincipalName",
+ "email",
"username",
"emailAddress"
];
diff --git a/src/Scripts/view/powerbi-signin.ts b/src/Scripts/view/powerbi-signin.ts
index 17e315db..e2eac72f 100644
--- a/src/Scripts/view/powerbi-signin.ts
+++ b/src/Scripts/view/powerbi-signin.ts
@@ -10,7 +10,6 @@ import { strings } from '../model/strings';
import { Dialog, DialogResponse } from './dialog';
import { i18n } from '../model/i18n';
import { Loader } from '../helpers/loader';
-import { PBICloudEnvironment } from '../model/pbi-cloud';
import { SignInRequest } from '../controllers/auth';
import { AppError } from '../model/exceptions';
@@ -35,7 +34,7 @@ export class PowerBISignin extends Dialog {
let html = `
${i18n(strings.powerBiSigninDescription)}
-
+
`;
this.body.insertAdjacentHTML("beforeend", html);
@@ -48,7 +47,7 @@ export class PowerBISignin extends Dialog {
if (cachedAccount) {
this.data = {
- userPrincipalName: cachedAccount.userPrincipalName,
+ email: cachedAccount.email,
environments: cachedAccount.environments,
environmentName: cachedAccount.environmentName
};
@@ -96,7 +95,7 @@ export class PowerBISignin extends Dialog {
if (environments && environments.length) {
this.data = {
- userPrincipalName: email,
+ email: email,
environments: environments,
environmentName: environments[0].name
};
diff --git a/src/Services/AuthenticationService.cs b/src/Services/AuthenticationService.cs
index cde8cd69..0443d490 100644
--- a/src/Services/AuthenticationService.cs
+++ b/src/Services/AuthenticationService.cs
@@ -1,25 +1,18 @@
namespace Sqlbi.Bravo.Services
{
using Sqlbi.Bravo.Infrastructure;
- using Sqlbi.Bravo.Infrastructure.Models;
using Sqlbi.Bravo.Infrastructure.Models.PBICloud;
using Sqlbi.Bravo.Infrastructure.Services.PowerBI;
- using System;
- using System.Collections.Generic;
- using System.Threading;
- using System.Threading.Tasks;
public interface IAuthenticationService
{
- IPBICloudEnvironment PBICloudEnvironment { get; }
+ CloudEnvironment PBICloudEnvironment { get; }
- IAuthenticationResult PBICloudAuthentication { get; }
+ PBICloudAuthenticationResult PBICloudAuthentication { get; }
Task IsPBICloudSignInRequiredAsync(CancellationToken cancellationToken);
- Task> GetPBICloudEnvironmentsAsync(string userPrincipalName, CancellationToken cancellationToken);
-
- Task PBICloudSignInAsync(string userPrincipalName, IPBICloudEnvironment environment, CancellationToken cancellationToken);
+ Task PBICloudSignInAsync(string email, CloudEnvironment environment, CancellationToken cancellationToken);
Task PBICloudSignOutAsync(CancellationToken cancellationToken);
}
@@ -33,7 +26,7 @@ public AuthenticationService(IPBICloudAuthenticationService pbicloudAuthenticati
_pbicloudAuthenticationService = pbicloudAuthenticationService;
}
- public IPBICloudEnvironment PBICloudEnvironment
+ public CloudEnvironment PBICloudEnvironment
{
get
{
@@ -42,7 +35,7 @@ public IPBICloudEnvironment PBICloudEnvironment
}
}
- public IAuthenticationResult PBICloudAuthentication
+ public PBICloudAuthenticationResult PBICloudAuthentication
{
get
{
@@ -63,23 +56,17 @@ public async Task IsPBICloudSignInRequiredAsync(CancellationToken cancella
if (authentication.IsExpired)
{
- await PBICloudSignInAsync(authentication.Account.UserPrincipalName, environment, cancellationToken).ConfigureAwait(false);
+ await PBICloudSignInAsync(authentication.Account.Email, environment, cancellationToken).ConfigureAwait(false);
}
return false;
}
- public async Task> GetPBICloudEnvironmentsAsync(string userPrincipalName, CancellationToken cancellationToken)
- {
- var environments = await _pbicloudAuthenticationService.GetEnvironmentsAsync(userPrincipalName, cancellationToken).ConfigureAwait(false);
- return environments;
- }
-
- public async Task PBICloudSignInAsync(string userPrincipalName, IPBICloudEnvironment environment, CancellationToken cancellationToken)
+ public async Task PBICloudSignInAsync(string email, CloudEnvironment environment, CancellationToken cancellationToken)
{
try
{
- await _pbicloudAuthenticationService.SignInAsync(userPrincipalName, environment, cancellationToken).ConfigureAwait(false);
+ await _pbicloudAuthenticationService.SignInAsync(email, environment, cancellationToken);
BravoUnexpectedException.Assert(_pbicloudAuthenticationService.CurrentAuthentication is not null);
BravoUnexpectedException.Assert(_pbicloudAuthenticationService.CurrentEnvironment is not null);
diff --git a/src/Startup.cs b/src/Startup.cs
index 3f5e76f7..28cf8d6c 100644
--- a/src/Startup.cs
+++ b/src/Startup.cs
@@ -36,10 +36,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddOptions().Configure((settings) => settings.FromCommandLineArguments()); //.ValidateDataAnnotations();
services.AddSingleton();
services.AddSingleton();
- services.AddSingleton();
- services.AddSingleton();
services.AddSingleton();
- services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
@@ -48,6 +45,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
+ services.AddPBICloudServices();
}
public void Configure(IApplicationBuilder application, IWebHostEnvironment environment)