我正在寻找一种方法让我的客户端使用facebook JS SDK进行授权,然后以某种方式将此授权转移到我的节点服务器(因此它可以使用fb graph api验证请求)
我偶然发现:https: //github.com/jaredhanson/passport-facebook/issues/26
&
https://github.com/drudge/passport-facebook-token
看起来与passport-facebook完全不同的策略.
在假设时我是否正确:
一个用fb JS SDK登录,然后facebook-token策略以某种方式从文档或正文对象中提取标记和fb id?
或者还有其他正确的方法来实现这一目标吗?我就是试图避免服务器SDK强制执行的重定向
node.js facebook-javascript-sdk facebook-oauth passport-facebook passport.js
我一直在研究为使用rails-api的纯JSON rails 4.1应用程序实现facebook,twitter和email/password身份验证的最佳方法.rails应用程序没有视图,只是在Android和iphone应用程序混合本机应用程序之间提供JSON(它们使用离子框架,这是一个编译成本机应用程序的角度应用程序).
在过去,我已经实现了基本身份验证,其中auth_token通过头文件从客户端应用程序传递到Rails API,使用auth中内置的rails没有任何问题,但是从那时起我需要与Facebook和Twitter集成我正在寻找利用oauth的解决方案.
我已经研究了设计,但它似乎与纯粹的JSON api搭配得很好.同样,omniauth似乎依赖于视图和重定向.此外,opro和门卫似乎很适合作为你自己的oauth提供商,但我不知道他们如何处理像facebook和twitter这样的第三方.
人们如何在rails中为纯JSON API应用程序实现多提供程序oauth身份验证?
mobile ruby-on-rails facebook-oauth rails-api ruby-on-rails-4
使用Flask-OpenID,Flask框架有一个非常好的OpenID模块.但是,facebook只支持FBconnect,没有真正的OpenID.
我正在寻找Flask-OpenID的修改版本(如果存在),它支持FBconnect或以与Flask-OpenID类似的方式执行FBconnect身份验证的库.
我可以获取特定城市的所有Facebook活动吗?我只需要事件ID.它应该是所有事件(公共),而不仅仅是某人的事件.Facebook会让我们获取这些信息吗?
有没有办法将另一个OAuth2提供商与Google Cloud Endpoints一起使用?我的意思是,例如,从Facebook获取身份验证并使用它与我们使用Google帐户身份验证相同的方式(使用gapi js并使用User类@ApiMethod)
google-app-engine oauth-2.0 facebook-oauth google-cloud-endpoints
让我们坚持使用Facebook这个例子.
我认为FB使用它自己的公共API(以及内部的API,只有他们可以使用),并且当他们使用OAuth 2时,可以安全地假设他们有"特殊客户注册"并且允许使用资源所有者密码凭据授予?
您可能知道,当他们从自己的官方应用程序登录Facebook时,他们不会弹出浏览器,询问您是否允许Facebook使用Facebook,因此如果他们自己使用OAuth,他们如何安全地执行此操作?
我们都读过Twitter让他们的消费者密钥泄露,Facebook如何避免这种情况?
我不是安全专家,也没有逆向工程经验,我只是在自己实施OAuth授权服务器的情况下,我们希望将我们的API暴露给第三方,但我们自己也有"官方"本机应用程序",我们希望使用资源所有者密码凭据授予,以获得最佳用户体验.
由于每OAuth的2规格,本机应用程序应该不包括客户端秘密,但如何使事情变得更好?我看到它的方式,如果您不包含秘密,并且您的客户端ID被解压缩并用于密码授予,则可以撤销它的唯一方法是从授权服务器中完全删除客户端ID.
我错过了一些明显的东西吗?"大人物"如何做到这一点?
在我的应用程序中,我按如下方式注册facebook-strategie:但返回的配置文件不包含电子邮件字段....
passport.use(new FacebookStrategy({
clientID: config.facebook.clientID,
clientSecret: config.facebook.clientSecret,
callbackURL: config.facebook.callbackURL,
passReqToCallback: true
},
function(req, accessToken, refreshToken, profile, done) {
// No email in the following colsole.log
console.log(JSON.stringify(profile));
}));
Run Code Online (Sandbox Code Playgroud)
获得如下:
app.get('/oauth/facebook', passport.authenticate('facebook', {
failureRedirect: '/login',
scope:['email']
}));
Run Code Online (Sandbox Code Playgroud)
(所以我在这里说的使用范围:Passport-facebook没有收到电子邮件)
在FB-Login页面上iam甚至要求提供电子邮件,我确实提供了:

任何帮助都很贴切!
我正在为基于Web的自定义社交网络应用开发本机移动应用.我们正在构建一个REST API来与Web服务器通信,我们选择了OAuth2作为身份验证方法(grant_type=password流程).
Web应用程序允许用户使用外部服务(即Facebook和Twitter)登录和注册.我们还需要在移动应用上允许相同的内容.问题是:我们怎么做?
Pinterest移动应用程序能够管理这种情况(参见附图).这里使用的流量是多少?

它们的行为类似于经典的OAuth驱动的应用程序(移动应用程序直接使用Facebook API充当OAuth客户端吗?).如果是这样,那么移动应用程序如何通过Pinterest服务器进行身份验证?它是否将Facebook OAuth访问令牌作为凭据传递?
问题的图形表示(请参阅????-labeled arrow):
Website API Mobile app Facebook OAuth
+ + +
| | |
| | /oauth2/token |
| +------------------------------>|
| | |
| | OAuth Access Token |
| |<-----------------------------+|
| | |
| ???? | |
|- - - - - - - - - - - - - -| |
| | |
| | |
| OAuth Access Token | |
|+------------------------->| |
| | …Run Code Online (Sandbox Code Playgroud) 我正在使用iOS内置框架进行连接.在询问"publish_stream"权限后,FB返回错误:
Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The app must ask for a basic read permission at install time." UserInfo=0x145ad6a0 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The app must ask for a basic read permission at install time.}
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?显示两个用户权限弹出窗口的用户体验不太理想.
permissions authorization facebook-graph-api ios facebook-oauth
我正在工作并实际通过Facebook系统创建登录,并且为了重定向它,我在创建应用程序时没有提前设置任何客户端OAuth设置.
facebook-oauth ×10
facebook ×3
oauth-2.0 ×3
ios ×2
node.js ×2
oauth ×2
passport.js ×2
api ×1
flask ×1
ios5 ×1
mobile ×1
permissions ×1
rails-api ×1
security ×1