0

我想从 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 网站获得),从而激活我网站上的插件。

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

4

1 回答 1

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 做任何你想做的事了。

如果您想了解更多详细信息,我前段时间在博客中对此进行了介绍。

干杯!

于 2014-04-16T08:59:22.693 回答