【问题标题】:how to get authenticationToken to put in pass.json如何获取 authenticationToken 以放入 pass.json
【发布时间】:2013-03-14 16:04:35
【问题描述】:

现在我可以从我的网络服务添加传递链接。接下来,我希望能够更新该通行证。因此,我需要添加 webserviceURL 和 authenticationToken,但是如何获取这个令牌?

【问题讨论】:

    标签: ios web-services passbook


    【解决方案1】:

    你弥补。唯一的要求是长度至少为 16 个字符。

    设备使用此令牌与 serialNumber 和 passTypeIdentifier 一起对您的 Web 服务进行身份验证,并让它知道设备已被授权接收特定的通行证。

    在 PHP 中,您可以执行以下操作:

    $authToken = generateAuthToken();
    
    function generateAuthToken($length = 16) {
        return substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
    }
    

    【讨论】:

    • 谢谢!还有关于 webserviceURL 的另一件事,我可以使用这个:“webServiceURL”:“192.168.1.202:8888/passesWebservice”吗?我把php文件,pass.pkpass等放在/application/MAMP/htdocs/passesWebservice/
    • 也许...但是您可能会在 Mac 上遇到防火墙问题(尝试测试您是否可以在连接到同一网络的 iOS 设备中从 safari 访问 192.168.1.202:8888)。您还必须将您的测试设备设置为使用 http(在 Settings->Developer 中)并确保您的 webServiceURL 键包含前导 http - 例如"webServiceURL" : "http://192.168.1.202:8888/passesWebservice"
    • 另外,您需要在/application/MAMP/htdocs/passesWebservice/ 构建一个完整的Web 服务,并且可能需要使用数据库来存储设备ID、设备令牌和序列号。仅将 .pkpass 文件转储到该位置是行不通的。
    • 是的,我已经在设备中进行了测试,它可以工作,但我还没有将此设备注册到我的数据库中!
    • 注册时,您的设备将调用http://192.168.1.202:8888/passesWebservice/v1/devices/{deviceID}/registrations/{passTypeIdentifier}/{serialNumber},其中{}中的项目对于每个通行证都是唯一的。您的服务还应验证请求标头是否包含 ApplePass {authenticationToken}
    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多