将Angular / Node应用程序从OAuth1.0迁移到OAuth2.0

时间:2019-04-29 21:51:33

标签: javascript node.js angularjs

我需要从OAuth1.0迁移到OAuth2.0。我的前端在AngularJS中,后端在Nodejs中。

quickbooks.html

<div class="container-fluid">
  <h2>Quickbooks!</h2>

  <div>
    Connect to quickbooks!
    <connect-to-quickbooks></connect-to-quickbooks>
  </div>
</div>

这是我的angularJs指令:

quickbooks-connect.directive.js

'use strict';
angular.module('flexFunds.flexManager.quickbooks')
.directive('connectToQuickbooks', function($window) {
  return {
    restrict: 'E',
    template: "<ipp:connectToIntuit></ipp:connectToIntuit>",
    link: function(scope) {
      var script = $window.document.createElement("script");
      script.type = "text/javascript";
      script.src = "//js.appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js";
      script.onload = function () {
        scope.$emit('intuitjs:loaded');
      };
      $window.document.body.appendChild(script);

      scope.$on('intuitjs:loaded', function (evt) {
        console.log(evt);
        $window.intuit.ipp.anywhere.setup({ grantUrl: '/' });
      });
    }
  }
});

现在,通过单击显示的按钮

enter image description here

甜,现在我可以手动登录了,但是仍然不允许我访问我的应用。无论如何,这不是我想要的。

我的一些问题:

  1. NodeJS在哪里发挥作用?这里是AngularJS。你们将如何去做呢?

  2. 如何从后端获取所有需要的密钥?我希望将令牌也保存到数据库中,或者与护照一起保存,如果有人可以指出有关此主题的一些很好的资源,那将不胜感激。

  3. 我可以摆脱quickbooks默认按钮模板并启用某种功能吗?例如,用于将请求发送到后端以获取发票的按钮。意味着这个新按钮必须验证用户身份,并且当然要提供其功能。

编辑: 按照mcohen01和minimul的教程示例(下面的链接),我现在更好地了解了该过程的工作方式。但是如何使angularJS从NodeJS服务器请求令牌,以及我的服务器如何重定向角度JS。 任何人都可以解释一下,也许序列图或示例会很有帮助。谢谢。

https://github.com/mcohen01/node-quickbooks/tree/master/oauth2example https://minimul.com/connect-to-quickbooks-angular-directive.html

0 个答案:

没有答案