Ver Fonte

OAuth completely working

Lee Morgan há 6 anos atrás
pai
commit
33eb6eaded
3 ficheiros alterados com 9 adições e 5 exclusões
  1. 4 2
      controllers/otherData.js
  2. 4 2
      controllers/renderer.js
  3. 1 1
      routes.js

+ 4 - 2
controllers/otherData.js

@@ -1,4 +1,5 @@
 const bcrypt = require("bcryptjs");
+const axios = require("axios");
 
 const Error = require("../models/error");
 const NonPosTransaction = require("../models/nonPosTransaction");
@@ -212,12 +213,13 @@ module.exports = {
 
     //Get - Redirects user to Clover OAuth page
     clover: function(req, res){
-        return res.redirect(`${process.env.CLOVER_ADDRESS}/oauth/authorize?client_id=${process.env.SUBLINE_CLOVER_APPID}&redirect_uri=${process.env.SUBLINE_CLOVER_URI}`);
+        return res.redirect(`${process.env.CLOVER_ADDRESS}/oauth/authorize?client_id=${process.env.SUBLINE_CLOVER_APPID}&redirect_uri=http://localhost:8080/cloverauth`);
     },
 
     cloverAuth: function(req, res){
         let authorizationCode = req.url.slice(req.url.indexOf("code=") + 5);
-        req.session.merchantId = req.url.slice(req.url.indexOf("merchant_id=") + 12, req.url.indexOf("&client_id"))
+        console.log(req.url);
+        req.session.merchantId = req.url.slice(req.url.indexOf("merchant_id=") + 12, req.url.indexOf("&"));
         
         axios.get(`${process.env.CLOVER_ADDRESS}/oauth/token?client_id=${process.env.SUBLINE_CLOVER_APPID}&client_secret=${process.env.SUBLINE_CLOVER_APPSECRET}&code=${authorizationCode}`)
             .then((response)=>{

+ 4 - 2
controllers/renderer.js

@@ -142,8 +142,6 @@ module.exports = {
     //  error: returns error (if any) from session
     //Renders merchantSetupPage
     merchantSetupClover: function(req, res){
-        // req.session.posId = "YHVPCQMVB1P81";
-
         let errorMessage = {};
         if(req.session.error){
             errorMessage = req.session.error;
@@ -151,11 +149,15 @@ module.exports = {
         }else{
             errorMessage = null;
         }
+
+        console.log(req.session.merchantId);
+        console.log(req.session.accessToken);
         
         Ingredient.find()
             .then((ingredients)=>{
                 axios.get(`https://apisandbox.dev.clover.com/v3/merchants/${req.session.merchantId}/items?access_token=${req.session.accessToken}`)
                     .then((recipes)=>{
+                        console.log("Other things and stuff");
                         return res.render("merchantSetupPage/merchantSetup", {ingredients: ingredients, recipes: recipes.data, error: errorMessage});
                     })
                     .catch((err)=>{

+ 1 - 1
routes.js

@@ -35,5 +35,5 @@ module.exports = function(app){
     app.get("/logout", otherData.logout);
     app.post("/email", otherData.checkUniqueEmail);
     app.get("/cloverlogin", otherData.clover);
-    app.get("/cloverauth", otherData.cloverAuth);
+    app.get("/cloverauth*", otherData.cloverAuth);
 }