作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试以 Angular 实现电报授权。我已经创建了机器人并在我的 Windows 中放置了正确的主机设置。关注此 solution ,我的代码看起来一样。但它给了我一个错误
Refused to frame 'https://oauth.telegram.org/' because an ancestorviolates the following Content Security Policy directive:"frame-ancestors http://host.de".
@Component({
selector: 'app-telegram-login-widget',
template: `
<div #script style.display="none">
<ng-content></ng-content>
</div>`,
styleUrls: ['./telegram-login-widget.component.css']
})
export class TelegramLoginWidgetComponent implements AfterViewInit {
@ViewChild('script', {static: true}) script: ElementRef;
convertToScript() {
const element = this.script.nativeElement;
const script = document.createElement('script');
script.src = 'https://telegram.org/js/telegram-widget.js?5';
script.setAttribute('data-telegram-login', environment.telegramBotName);
script.setAttribute('data-size', 'large');
// Callback function in global scope
script.setAttribute('data-onauth', 'loginViaTelegram(user)');
script.setAttribute('data-request-access', 'write');
element.parentElement.replaceChild(script, element);
}
ngAfterViewInit() {
this.convertToScript();
}
}
最佳答案
Content-Security-Policy Telegram 小部件仅允许有限的主机列表将其包含为 iframe。
要将您的域添加到允许列表中,您必须将机器人链接到您的域,请参阅 docs :
Once you have chosen a bot, send the
/setdomain
command to@Botfather
to link your website's domain to the bot.
关于javascript - 如何在 Angular 应用中使用 Telegram 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65930851/
我是一名优秀的程序员,十分优秀!