Ios 使用Apple登录:验证我的域不工作

Ios 使用Apple登录:验证我的域不工作,ios,verify,ios13,apple-sign-in,Ios,Verify,Ios13,Apple Sign In,我在我的移动应用程序中集成了苹果的登录功能。我按照开发者门户中提供的配置步骤下载了apple-developer-domain-association.txt文件,并将其放置在给定路径的服务器上。现在该文件正在从web浏览器加载,但我无法在Apple开发者帐户上验证我的域。它给我一个错误消息“域验证失败” 有人有同样的问题吗?如何成功获得验证验证域以配置使用AppleApple developer domain association.txt登录。文件必须可公开访问 https://{YOUR_

我在我的移动应用程序中集成了苹果的登录功能。我按照开发者门户中提供的配置步骤下载了apple-developer-domain-association.txt文件,并将其放置在给定路径的服务器上。现在该文件正在从web浏览器加载,但我无法在Apple开发者帐户上验证我的域。它给我一个错误消息“域验证失败”


有人有同样的问题吗?如何成功获得验证

验证域以配置使用Apple
Apple developer domain association.txt登录。文件必须可公开访问

https://{YOUR_DOMAIN}/.well-known/apple-developer-domain-association.txt
确定

  • 域和与电子邮件地址关联的域必须符合发件人策略框架(SPF)标准
  • 必须可以通过https
  • 访问。http不起作用
  • 没有重定向,甚至没有重定向到
    wwww
    。上面提到的示例url必须服务于
    apple developer domain association.txt
    文件,而不需要任何重定向

  • 提示:如果您使用
    www
    提供
    apple developer domain association.txt
    ,则必须注册域
    www.{YOUR_domain}
    white,并在developer.apple.com上使用苹果配置登录。为此,您必须确保
    www.{YOUR_DOMAIN}
    符合SPF

    在@Bilal中继续和添加

    A.如果域不符合SPF,则在尝试将其添加到开发人员门户时,会立即注意到您

    B.如果你不确定你的站点是否被重定向,你可以签入它,或者只使用邮递员并在请求设置中禁用“自动跟踪重定向”选项

    C.苹果要求您的服务器必须支持传输层安全(TLS)1.2协议和下列密码套件之一:

    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_128_CBC_SHA256
    
    对我来说,问题是www重定向,我不知道我们的服务器会这样做,我的devops帮助我解决了这个问题,只是为了验证


    IMO的最佳解决方案就是使用您自己的中继微服务和一个独特的专用域…

    来扩展@MTZ4的响应(顺便说一句,因为您已经锁定了它),以下是我需要完成的过程,并向其他不太熟悉解决此类问题的人提供一些指导

    在我的例子中,CloudFlare处理DNS和TLS密码证书,Heroku为站点提供服务

    第一步是确定您的TLS提供商是否提供苹果要求的适当TLS密码

    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_128_CBC_SHA256
    
    最简单的方法之一就是使用。只需输入根域并运行报告(需要几分钟)。在报告响应中,查找节密码套件,并验证Apple想要的TLS密码是否可用。在下图中,您可以看到它们呈橙色,并标记为弱

    您可以忽略弱状态,这是因为这些密码不使用临时密钥,并且不会在TLS 1.3中使用

    如果需要更全面的测试,请安装并下载。安装NMAP并下载脚本后,针对您的域执行脚本:

    nmap——脚本ssl枚举密码-p 443 my root domain.com

    这将生成一个如下所示的结果集:

    再次查找TLSv1.2部分,并对照苹果的密码列表检查您的密码列表。如果它们不存在(上图中缺少),那么这就是问题所在

    那么如何修复呢?这里有几个选项,这完全取决于您的TLS提供商,它可能是您的web主机,也可能是您的DNS主机,具体取决于您的配置

    对于我们来说,我们使用CloudFlare作为DNS提供商。CloudFlare还提供TLS密码。由于CloudFlare不支持Apple所需的密码(上面的NMAP图像),并且出于对TLS 1.2和TLS 1.3的安全考虑,他们不会添加密码,因此我们不得不禁用CloudFlare的代理服务,以允许托管服务(Heroku)提供TLS证书

    结果证明这很容易。只需登录到CloudFlare,转到DNS条目并更改流量路由行为(单击橙色云将其变为灰色以进行验证,然后在验证完成后再次单击)。有关更多信息,请参阅

    这样做之后,Heroku提供了TLS密码,其中包括苹果要求的密码(如上面的SSL实验室图像所示)

    最终,无论谁为您的TLS密码服务,都必须包含苹果需要的密码。如果上面的测试没有显示正确的密码,请检查DNS/TLS服务和主机提供商,看看它们是否支持这些密码。如果他们没有,那么您可能需要切换

    最后,还值得注意的是,在Apple的开发者门户中,当您单击验证文件的下载按钮时,不要再单击它!每次单击该按钮时,验证文件都会发生变化,因为它似乎是动态生成的

    只需修复所有TLS问题,然后登录Apple开发者门户,下载文件,上传到服务器,然后进行验证


    我确实在这方面与苹果支持部门合作过,他们正在考虑向验证页面添加一些文档,说明需要哪些密码,这样其他人就不会遇到同样的问题。

    我正在运行node js和express,因为我从Sectigo买了一个便宜的SSL证书,所以出现了问题。 这是我为修复它所做的

  • 检查SSL证书是否存在错误

  • 我必须安装一个中间证书。这就解决了问题。 如果您在Safari中执行签入,它将不会向您确认域已验证。 取而代之的是,在Chrome中执行签入操作,它会给您一个确认

  • 检查从服务器返回的HTTP头。如果是301,苹果就不会跟进。相反,必须返回验证文件