我正在尝试将facebook auth嵌入到我的应用程序中.我最初的努力是登录浏览器并获取代码.我将此代码传递回我的api并获取访问令牌(与服务器保持一致)并通过我的服务器将我的所有请求路由到FB Api.因为我的客户端没有信息可以将FB作为我的应用程序进行授权调用,因此对我来说似乎完全安全.
然而,我一直在寻找FB Javascript SDK,以避免编写用于对话框打开和关闭的代码,并注意到它允许我getLoginStatus返回访问令牌.此外,我在他们的文档中查看了FB auth流程,并且他们说客户端 - 服务器混合流程可以做到服务器实际上将"长期访问令牌"返回给客户端并建议我使用HTTPS(公平).
现在这一切让我想到这是否是一个安全问题.作为一个潜在的黑客,我不能将一些javascript注入用户的网页,可以
a)制作getLoginStatus并获取访问令牌或
b)通过向我的api服务器发出请求获取访问令牌
并获取访问令牌然后使用它发布(假设用户授权我的应用程序这样做)到Facebook,好像我的应用程序正在做它?
我是一个安全新手,可能会在这里忽略一堆东西,但有人可以帮助我理解我所缺少的东西吗?
提前致谢!
PS:我知道我可以启用进一步的安全性,以确保每次我想要提出客户端无法做的请求时我都需要应用程序秘密,因为客户端永远不会提供该信息.
javascript security facebook facebook-graph-api facebook-javascript-sdk
这是我的gulpfile.
var gulp = require('gulp');
var less = require('gulp-less');
var clean = require('gulp-clean');
var mincss = require('gulp-minify-css');
var gulpif = require('gulp-if');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var inject = require('gulp-inject');
var templateCache = require('gulp-angular-templatecache');
var angularFilesort = require('gulp-angular-filesort');
var env = 'development';
gulp.task('default', ['clean'], function() {
gulp.start('static', 'html');
});
gulp.task('production', ['set-production', 'default']);
gulp.task('development', ['default'], function() {
gulp.watch('./src/less/**/*.less', ['styles']);
gulp.watch('./src/js/**/*.js', ['scripts']);
gulp.watch('./*.html', ['html']);
});
gulp.task('static', function() {
return gulp.src(['./src/static/*.*'])
.pipe(gulp.dest('./dist/static'));
});
gulp.task('clean', function() {
return gulp.src('./dist', {
read: …Run Code Online (Sandbox Code Playgroud)