2016-07-29 12 views
0

Wir entwickeln eine Komponente, die den impliziten Datenfluss von OpenID Connect verarbeitet.Behandeln einer Anforderung mit einer bestimmten Funktion in einer Komponente

In step 5 of the flow sendet der "Authorization Server den Endbenutzer zurück zum Client mit einem ID-Token und, falls gewünscht, einem Access Token." Wir möchten, dass unsere Komponente diese Anfrage bearbeitet, die ~/openid-login ist.

Wie konfigurieren wir Aurelia so, dass es an eine Funktion in unserer Komponente weitergeleitet wird?

export class OpenId { 

    // how do we route ~/openid-login to this? 
    public handleRequest() { 

    } 

} 

Hinweis: Here is the work in progress.

Antwort

2

eine navStrategy in Ihrem routeConfig Verwendung ermöglicht es Ihnen, was auch immer Sie auf eine Seite, bevor die Navigation gerne tun. Siehe unten:

import { autoinject } from 'aurelia-framework'; 
import { RouterConfiguration, Router, NavigationInstruction } from 'aurelia-router'; 

@autoinject 
export class App { 

    router: Router; 

    configureRouter(config: RouterConfiguration, router: Router) { 

     let openIdNavStrat = (instruction: NavigationInstruction) => { 

      console.log('Do whatever we would like to do.'); 

      // then redirect to where ever you would like. 
      instruction.config.moduleId = 'login'; 
     } 

     config.map([ 
      { route: ['', 'login'], moduleId: 'login' }, 
      { route: 'openid-login', navigationStrategy: openIdNavStrat }, 
     ]); 

     this.router = router; 
    } 
} 

Es gibt Dokumentation Navigation Strategien hier: http://aurelia.io/hub.html#/doc/article/aurelia/router/latest/router-configuration/3

+0

Wird dies auch verlangen, dass wir eine app.html Ansicht, die einen Router-Ansicht in ihm hat? –