Как передать пользовательскую переменную с помощью URI перенаправления Azure AD B2 C и получить доступ к этой переменной на общей наземной странице? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь передать пользовательскую переменную как «состояние» в рабочем процессе azure ad b2 c в angular8, используя angular -oauth2-oid c auth config и мне нужен доступ это значение на моей общей наземной странице.

Мне нужно обрабатывать несколько страниц / приложений входа в систему, которые должны перенаправляться на общий индекс целевой страницы. html и мне нужно получить доступ к настраиваемой строке для идентификации запрошенного приложения.

Пример: у меня 2 страницы входа в систему

     **- Login1.html**
     **- Login2.html**
     
     Both the login pages redirect to a common page **'http://localhost:4200/index.html'**.(This is the value I have set as redirect URL in the azure ad b2c application portal).
     
     My need is when the user logins from Login1.html then after the successful authentication from b2c the redirect URL should pass a custom string called 'log1'  and I need to get this value in the index.html page also.

Когда я пытался со многими статьями добавить состояние вместе с URL-адресом перенаправления, он часто возвращал ошибку, поскольку URL-адрес перенаправления не совпадает .

Когда я пытался добавить его в файл authConfig, он показывает ошибку, так как «Литерал объекта может указывать только известные свойства, а« состояние »не существует в типе« AuthConfig »

Может кто-нибудь поможет мне выбрать правильное решение. Заранее спасибо.

app.component.ts

<code>import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { OAuthService, NullValidationHandler } from 'angular-oauth2-oidc';
import { authConfig, DiscoveryDocumentConfig } from './auth.config';

@Component({
  selector: 'app-root',
  template: `
  <h1 *ngIf="!claims">
  Hi!
  </h1>
  
  <h1 *ngIf="claims">
  Hi, {{claims.given_name}}!
  </h1>
  
  <h2 *ngIf="claims">Your Claims:</h2>
  
  <pre *ngIf="claims">
  {{claims | json}}
  
Логин Выход Вызов API Ответ: {{сообщение | json}} `, styles: []}) класс экспорта AppComponent {конструктор (закрытый http: HttpClient, закрытый oauthService: OAuthService) {this.configure (); пусть loginval = this.oauthService.tryLoginImplicitFlow (); let token = this.oauthService.getAccessToken (); пусть состояние = this.oauthService.state; } сообщение: строка; publi c getMessage () {this.http.get ("https://localhost: 5001 / значения", {responseType: 'text'}) .subscribe (r => {this.message = r console.log ("message : ", это сообщение); }); } publi c login () {this.oauthService.initLoginFlow (); } publi c logout () {this.oauthService.logOut (); } publi c получить заявки () {пусть заявки = this.oauthService.getIdentityClaims (); возврат претензий; } приватная configure () {this.oauthService.configure (authConfig); this.oauthService.tokenValidationHandler = новый NullValidationHandler (); this.oauthService.loadDiscoveryDocument (DiscoveryDocumentConfig.url); }}

auth.config.ts (Пример)

import { AuthConfig } from 'angular-oauth2-oidc';

export const DiscoveryDocumentConfig = {
    url: "https://aboutazure.b2clogin.com/aboutazure.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1_susi"
}

export const authConfig: AuthConfig = {
    redirectUri: window.location.origin + '/index.html',
    responseType: 'token id_token',
    issuer: 'https://aboutazure.b2clogin.com/b88448e7-64f3-497b-a7aa-73ae0cc6e9ce/v2.0/',
    strictDiscoveryDocumentValidation: false,
    tokenEndpoint: 'https://aboutazure.b2clogin.com/aboutazure.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_susi',
    loginUrl: 'https://aboutazure.b2clogin.com/aboutazure.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_susi',
    clientId: '0c295dee-8904-4546-92b7-dc64dd14bf58',
    scope: 'openid profile https://aboutazure.onmicrosoft.com/foo-api/user_impersonation',
    skipIssuerCheck: true,
    clearHashAfterLogin: true,
    oidc: true,
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...