我正在尝试为我的Angular App编写登录解决方案,
这意味着允许用户通过Facebok/Google/Twitter或正常注册进行连接.
我发现Angular-OAuth很有用,但它似乎不适用于Facebook(或Twitter).
有人知道这个全包解决方案吗?
我有一个使用在节点上运行的OAuth 2的Web应用程序.使用EJS模板,我能够正确创建一个工作流,提示用户登录,验证,然后执行"GetUser"GET命令并将输出转储到屏幕.最近我试图删除EJS并希望让AnguarJS正常工作.
目前我已经删除了EJS并实现了Angular,但是有角度很多奇怪的事情发生了,我无法弄清楚为什么!
当我的用户点击"登录"时,他们应该被带到他们使用OAuth 2登录的另一个网站.这个过程在带有EJS的Node上工作正常,但是在我的控制器加载角度时,加载了正确的部分,但是没有数据.使用Chrome DEV工具查看此过程,我看到以下错误
XMLHttpRequest cannot load http://website/oauth/authorize?...
No 'Access-Control-Allow-Origin'
header is present on the requested resource.
Origin 'http://localhost:8080' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)
甚至更奇怪的是,在网络选项卡中,我可以看到正确的请求URL!如果我将此URL复制并粘贴到另一个选项卡中,则执行"GetUser"命令,但随后节点崩溃并且我的页面失败.
我尝试过不同的浏览器,启用CORS和配置CORS.我知道问题在于Angular,因为我可以成功地使用与EJS相同的代码.我已将我的Angular代码放在下面,任何帮助都将不胜感激!
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var config = require('./config.js')
var passport = require('passport');
var OAuth2Strategy = require('passport-oauth').OAuth2Strategy;
var session = require('express-session');
var index = require('./routes/index');
var login = require('./routes/login');
var logout …Run Code Online (Sandbox Code Playgroud)