adlogix/guzzle-atlassian-connect-middleware

为Guzzle的Atlassian Connect认证中间件

此包的官方仓库似乎已消失,因此该包已被冻结。

1.1.2 2016-12-26 11:03 UTC

This package is auto-updated.

Last update: 2020-01-17 22:17:38 UTC


README

build Scrutinizer Code Quality

此中间件的目的在于将Atlassian Connect认证作为Guzzle中间件实现。因此,你应该阅读Atlassian Connect文档,以了解在此库中使用的术语。

tl;dr;

这是什么

如你所见,Atlassian有一个相当复杂的认证系统,即使是对于他们任何产品的读取访问。我们创建了此Guzzle中间件,以便我们可以在Atlassian产品上进行认证。

这不是什么

  • 完整的Atlassian [name-your-product]客户端。

使用方法

请参阅此存储库根目录下的index.php。

实际测试

你想要认证的Atlassian产品需要通过某种形式的webhooks与你应用程序进行通信,因此我们创建了一个最基本的应用程序来展示你可以如何实现。

使用docker-compose

$ docker-compose up -d

使用主机名而不是端口号

如果你已经启动了环境,你已经有了一个正在运行的代理来将ngrok.dev和atlassian-connect.dev重定向到正确的容器。你只需要将这两个域名放入你的主机文件或使用类似dnsmasq在OSX上的解决方案,但请确保重定向到你的docker-machine IP。

要查找你的docker machine IP,请使用

$ docker-machine ip [machine-name]

获取你的开发实例

Atlassian改变了在Confluence/Jira上的工作方式,现在为了创建你的插件,你必须获得一个开发者账号并创建你自己的实例。创建环境的所有步骤都在文档页面上定义

一旦您获得自己的 Atlassian Cloud 实例并将其设置为开发者模式,我们就可以继续并让该实例与我们联系。

将我们的本地应用程序公之于众

我们正在尝试进行身份验证的 Atlassian 应用必须向我们发送一些信息,因此我们需要将我们的应用程序暴露在互联网上。这就是为什么我们有一个运行中的 ngrok 容器。ngrok 是一个应用程序,将在我们的环境和他们的服务器之间创建隧道,让我们随时随地访问。

您现在应该在 ngrok.dev 上运行一个 ngrok 容器。连接后,您应该看到隧道 URL,如果您打开它,您将看到所有隧道流量。

安装我们的演示应用程序应使用的 URL 是 https://[your-tunnel-id].eu.ngrok.io/descriptor.json

注意:每次您重新启动 ngrok 容器时,隧道 ID 都会更改,因此您每次都应该重新安装您的插件。我知道,这很糟糕。

代理超时

我们已经设置了一个 10 分钟的代理超时,这样我们就可以一行一行地操作而不会出现任何问题 ;)