电报登录小工具卡在确认消息上

问题描述 投票:0回答:2

Telegram 登录小部件无法在我的网站上运行,我不明白为什么。 只是当 Telegram 必须发送确认消息时,它就卡住了。 如果我已经登录 telegram.org,它可以按需要工作,但我无法通过我的网站收到确认。 启用跨站点 cookie 并不能解决问题。 我的小部件代码:

import React, { useRef, useEffect } from 'react'
import PropTypes from 'prop-types'

const TelegramLoginButton = ({
  botName,
  buttonSize,
  className,
  cornerRadius,
  requestAccess,
  usePic,
  dataOnauth,
  dataAuthUrl,
  lang,
}) => {
  const instance = useRef(null)

  useEffect(() => {
    if (instance) {
      window.TelegramLoginWidget = {
        dataOnauth: (user) => { dataOnauth(user) },
      }

      const script = document.createElement('script')
      script.src = 'https://telegram.org/js/telegram-widget.js?14'
      script.setAttribute('data-telegram-login', botName)
      script.setAttribute('data-size', buttonSize)
      if (cornerRadius !== undefined) {
        script.setAttribute('data-radius', cornerRadius)
      }
      script.setAttribute('data-request-access', requestAccess)
      script.setAttribute('data-userpic', usePic)
      script.setAttribute('data-lang', lang)
      if (dataAuthUrl !== undefined) {
        script.setAttribute('data-auth-url', dataAuthUrl)
      } else {
        script.setAttribute(
          'data-onauth',
          'TelegramLoginWidget.dataOnauth(user)',
        )
      }
      script.async = true

      instance.current.appendChild(script)
    }
  }, [instance])

  return (
    <div ref={instance} className={className} />
  )
}

TelegramLoginButton.propTypes = {
  botName: PropTypes.string.isRequired,
  className: PropTypes.string,
  dataOnauth: PropTypes.func,
  dataAuthUrl: PropTypes.func,
  buttonSize: PropTypes.oneOf(['large', 'medium', 'small']),
  cornerRadius: PropTypes.number,
  requestAccess: PropTypes.string,
  usePic: PropTypes.bool,
  lang: PropTypes.string,
}

TelegramLoginButton.defaultProps = {
  botName: 'tgmm_xyz_bot',
  buttonSize: 'large',
  dataOnauth: () => undefined,
  lang: 'ru',
  requestAccess: 'write',
  usePic: true,
}

export default TelegramLoginButton
telegram
2个回答
2
投票

我通过更改域来修复它。我不知道为什么,但电报登录小部件不想与 tgmm.xyz 域一起使用。


0
投票

除了更改域名之外还有其他方法可以解决这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.