私は認証にauth0を使用しています。私の角型アプリでは、auth0での認証中に角型アプリケーションへのルーティングを防ぐAuthGuardがあります。認証時にURLがこのサーバ上にないlocalhost上でルーティングを動作させることができます
https://www.examplesite.com/#access_token=jlfdsfhWboAhvlRhbZt&expires_in=86400&id_token=aeryJ0eXAfsiOiJ..&token_type=Bearer&state=16d15855-0827-4189-bc34-26b981d578bb
のように見えるアプリはここで、次のルートに
export const ROUTES: Routes = [
{ path: '', loadChildren: './home/home.module#HomeModule', canActivate: [AuthGuard] },
{ path: '**', redirectTo: '/' },
];
が含まれていAuthGuardです:
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private location: Location, private authService: AuthService) { }
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {
if (route.fragment && route.fragment.startsWith('access_token')) {
return false;
}
return true;
}
}
これは、ローカルホスト上で正常に動作します。 AccessTokenのパスが表示され、それが消えるとアプリケーションは正常に読み込まれます。
しかし、公開されたサーバーでは機能しません。それはアクセス権のパスを示し、アプリケーションがロードされていないのが消えます。コンソールで
私はこの警告 #access_tokenは= rfsdf ... & expires_in = 86400 & id_token = rfafsdf ... & TOKEN_TYPE =ベアラー&状態= 72e39d8b-7907-4fbb-88fb-1dd690622541取得:7 キー ""は認識されず、無視されます。
これはなぜローカルホストでは動作しますが、サーバでは動作しないのでしょうか?
ブラウザコンソールにエラーがありますか? –
こんにちは@GünterZöchbauer私は警告を受け取ります。下の更新された回答をご覧ください。 – doorman
ここからローカルホストとサーバーの違いはどこに配置されたのか分かりません。 –