【问题标题】:Creating JSON Web Token in php for annotator.js在 php 中为 annotator.js 创建 JSON Web Token
【发布时间】:2014-05-22 01:00:09
【问题描述】:

我想从 www.annotateit.org 安装(惊人的)annotator.js 脚本。为了将注释保存在他们的存储服务上,我需要使用 JWT 进行“身份验证”。我需要有关如何在 php 中执行此操作的帮助。

1) http://docs.annotatorjs.org/en/latest/authentication.html 的网站解释了需要在 python 中完成的操作,但我的托管服务不提供 python 支持。

2) 我发现了这个https://github.com/firebase/php-jwt/blob/master/Authentication/JWT.php,它显然可以让我在 php 中创建 JWT。不过我不知道该怎么办。

3) 为了激活插件,我需要添加以下以某种方式调用令牌的脚本:

$(body).annotator()
   .annotator('setupPlugins', {tokenUrl: 'http://example.com/api/token'});

4) 我很想知道使用 php 脚本需要采取的具体步骤,使用我的公钥和密钥(我从 annotateit.org 网站获得),从而激活我网站上的插件。

如果我可以更具体地改进这个问题,如果你让我知道你需要哪些其他信息来帮助我,我很乐意这样做。

【问题讨论】:

    标签: php jquery json jwt


    【解决方案1】:

    有一个非常简单(并且工作)的库可以满足您的所有需求,namshi/jose

    我们在几个月前编写并发布了它,它是我们架构背后的身份验证机制。

    使用它只需 2 分钟:

    $jws  = new JWS('RS256');
    $jws->setPayload(array(
        'somedata' => $yourData,
    ));
    
    $privateKey = openssl_pkey_get_private("file://path/to/private.key", 'YOUR_PASSPHRASE');
    $jws->sign($privateKey)
    
    $jws = $jws->getTokenString();
    

    好了,现在你可以用 jwt 做任何你想做的事情了。

    如果你想了解更多细节,我刚才blogged about this

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 2019-03-16
      • 2015-03-27
      • 2015-12-14
      • 2010-11-26
      相关资源
      最近更新 更多