У меня есть вот такой компонент для использования виджета:
import React from 'react';
import PropTypes from 'prop-types';
class TelegramLoginButton extends React.Component {
componentDidMount() {
const { botName, size, requestAccess, showUserPic, callbackOnAuth } = this.props;
window.TelegramLoginWidget = {
callbackOnAuth: user => callbackOnAuth(user)
};
const script = document.createElement('script');
script.src = 'https://telegram.org/js/telegram-widget.js?2';
script.setAttribute('data-telegram-login', botName || 'samplebot');
script.setAttribute('data-size', size || 'large');
script.setAttribute('data-request-access', requestAccess || 'write');
script.setAttribute('data-userpic', !showUserPic);
script.setAttribute('data-onauth', 'TelegramLoginWidget.callbackOnAuth(user)');
script.async = true;
this.instance.appendChild(script);
}
render() {
return (
<div ref={component => this.instance = component}>
{this.props.children}
</div>
);
}
}
TelegramLoginButton.propTypes = {
callbackOnAuth: PropTypes.func.isRequired,
botName: PropTypes.string.isRequired,
size: PropTypes.oneOf(['small', 'medium', 'large']),
requestAccess: PropTypes.oneOf(['write']),
showUserPic: PropTypes.bool
};
export default TelegramLoginButton;
При его использовании вылазит вот такая ошибка:
Refused to display 'https://oauth.telegram.org/embed/ld_notify_test_bot?origin=http%3A%2F%2Ftelegram.comments%3A8080&size=large&userpic=true&request_access=write' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors http://telegram.comments".
Само приложение крутится по адресу: http://telegram.comments:8080/ в настройках бота указан домен http://telegram.comments:8080/
В чем проблема? Домены свопадают, ни каких проблем быть не должно.
Виджет не работает, если порт отличен от 80-го.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости