我错过了什么? node.js条带连接集成

时间:2016-04-27 16:19:37

标签: angularjs node.js oauth passport.js stripe-payments

一直在努力让这个条带连接与独立帐户集成完成。

  

入门   注册您的平台。 (你只需要这样做一次。)   为您的用户创建或连接帐户,例如卖家或服务提供商。

所以我已经注册了我的平台,获得了我的API密钥。我在我的网站上添加了“连接条纹”按钮。

哪些链接指向用户enter image description here

的登录或注册页面

编辑: 我现在正在尝试建立护照条纹策略,但我并不真正理解我想要实现的目标。

Stripe提供了此文档github gist的链接,但是建议您不要使用它(?!),而是使用oauth文档。

所以,请记住我使用护照设置的所有其他身份验证,我使用了https://github.com/passport/passport-stripe#usage

在/ server / config / strategies /下我为stripe.js添加了一个文件

'use strict';
/**
 * Module dependencies.
 */
var path = require('path');
var passport = require('passport'),
  StripeStrategy = require('passport-stripe').Strategy,
  User = require('mongoose').model('User'),
  errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller'));

module.exports = function(config) {
  passport.use(new StripeStrategy({
    clientID: '',
    clientSecret: '',
    callbackURL: "http://localhost:3000/api/auth/stripe/callback"
  }, function(accessToken, refreshToken, stripe_properties, done) {
//    User.findOrCreate({
//      stripeId: stripe_properties.stripe_user_id
//    }, function(err, user) {
//      return done(err, user);
//    });
      exports.update = function (req, res) {
  var user = req.model;

  //For security purposes only merge these parameters
  user.firstName = req.body.firstName;
  user.lastName = req.body.lastName;
  user.displayName = user.firstName + ' ' + user.lastName;
  user.roles = req.body.roles;
  user.stripeId = stripe_properties.stripe_user_id;       

  user.save(function (err) {
    if (err) {
      return res.status(400).send({
        message: errorHandler.getErrorMessage(err)
      });
    }

    res.json(user);
  });
};
  }));
};

和我的auth.server.routes.js我添加了:

app.get('/api/auth/stripe',
  passport.authenticate('stripe', { scope: 'read_write' }));

app.get('/api/auth/stripe/callback',
  passport.authenticate('stripe', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
  });

编辑:'/ api / auth / stripe'指向https://connect.stripe.com/oauth/authorize?response_type=code&client_id=&scope=read_write,即图像中的登录/注册表单。但后来试图重定向到'/ api / auth / stripe / callback'它只是给我'服务器错误'

我不知道我是否朝着正确的方向前进。我不知道这一切是如何联系在一起的。我试过向某个方向询问条纹支持,但是那个人告诉我他不知道如何使用护照。

非常感谢任何方向

提前致谢

1 个答案:

答案 0 :(得分:2)

由于您使用的是Passport,因此您应该使用passport-stripe模块。

您可以在此处找到使用说明:https://github.com/passport/passport-stripe#usage