1

我一直在编写自己的流星帐户包,但我似乎遗漏了一些东西。我在浏览器或终端中没有收到任何错误,因此我很难进行故障排除。我得到的唯一错误来自accounts-ui包本身,它说“没有配置登录服务”。如果有人可以看一下,可以在https://github.com/khamoud/meteor-accounts-stripe看到代码。提前致谢。

4

1 回答 1

4

不久前,我自己创建了一个帐户包,我的建议是尽可能地坚持同一服务的基本帐户包中所做的任何事情(在这种情况下,它看起来像 OAuth 2)。我可以看到你已经做到了,但有细微的差别。

我下载了你的包并自己尝试了一下。虽然我无法让它工作(我没有使用 Stripe API,所以我不会完全深入研究它)我认为我可以取得比你更多的进步。

首先,我没有收到“未配置登录服务”错误。你添加了你的包裹吗?我做了'meteor add accounts-ui',在我的项目的根目录中创建了一个包文件夹并将你的包文件夹粘贴到其中,将其重命名为'accounts-stripe'并做了'meteor add accounts-stripe'。

然后我在页面中添加了一个 {{loginButtons}} 助手。有了这个,我得到了配置条纹登录按钮,但是当我点击它时它不会打开一个弹出窗口。我在 js 控制台“未捕获的错误:重复服务:条纹”中收到错误消息。问题似乎是你有这条线:

Accounts.oauth.registerService('stripe');

在accounts_stripe.js 和stripe_client.js 中。从 stripe_client.js 中删除它为我修复了它。然后我可以从条带中添加我的 API 密钥。

下一个问题是,一旦提交了这些,您将它们存储在 stripe_configure.js 的“clientId”中,然后使用 appId 从 stripe_client.js 和 stripe_server.js 的配置对象中检索它们。我注意到这一点是因为提交 API 密钥后弹出窗口中的登录 URL 有一个未定义的 client_id。在 stripe_configure.js 中将 'clientId' 更改为 'appId' 将解决这个问题。

不幸的是,它仍然不起作用。我明白了

{"error":{"message":"No application matches the supplied client identifier"}}

从弹出窗口。这可能有多种原因,可能是我在 API 密钥窗口中提交了错误的内容,可能是因为我在 Stripe 上使用了一个测试项目,或者您可能错误地实现了登录工作流程。Stripe OAuth 文档的快速谷歌表明我为 client_id 和 secret 提交了错误的内容。就像我说的,我以前没有使用过 Stripe API。

我希望我已经让你开始修复它。

于 2013-11-05T04:53:01.830 回答