带有动态查询参数的 Android 浏览器意图链接



尝试将动态参数(例如用户令牌(从 Angular 应用程序传递到 Android 应用程序,适用于 静态查询参数,但链接未使用动态参数打开...

链接已打开:

<a href="intent://dummyIntent?token=12345/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;end">App</a>

链接未打开:

<a href="intent://dummyIntent?token={{user.token}}/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;end">App</a>

还尝试了额外的参数,同样的问题:

<a href="intent://dummyIntent/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;S.token={{user.token}};end">App</a>

提示:如果复制到剪贴板,链接将显示为"不安全">

unsafe:intent://dummyIntent?token=/#Intent;scheme=https;package=net.openid.appauthdemo;end

有什么建议可以解决这个问题吗?

找到了一个解决方案:使用了safeUrl-Pipe

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'safeUrl'
})
export class SafeUrlPipe implements PipeTransform {
constructor(private domSanitizer: DomSanitizer) {}
transform(url) {
return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
}
}

模板:

<a [attr.href]="intentLink | async | safeUrl">App</a>

如何避免在 Angular-2 链接中添加前缀"不安全"?

最新更新