Re: [问题] 登入,Syncadapter,Token,Server

楼主: kitesurf (飞阿!)   2014-12-03 10:32:15
→ ginnyhuang:使用第三方平台登入,我是在user登入后取得该account的 05/13 15:36
→ ginnyhuang:ID,使用这个ID当作user的帐号存入server的database, 05/13 15:37
→ ginnyhuang:之后在app中user和server的沟通就以此帐号为凭依(也可 05/13 15:37
→ ginnyhuang:以自行加入其他识别字串) 05/13 15:37
→ ginnyhuang:因为我只有用到让user可以快速登入,没有需要使用社群 05/13 15:37
→ ginnyhuang:互动,所以只是让第三方平台帮你识别这个人是谁,不需 05/13 15:37
→ ginnyhuang:要记录token什么的 05/13 15:38
→ ginnyhuang:我记得和第三方的auth token也是有时效性的,不确定是 05/13 15:38
→ ginnyhuang:每次重新登入他会更新还是多久更新一次 05/13 15:38
→ ginnyhuang:auth token应该是给第三方程式登入但又不想让该程式知 05/13 15:38
→ ginnyhuang:道帐密而使用的流程?app和server是否也可以(需要)用, 05/13 15:40
→ ginnyhuang:这我还真不太清楚XD(这部分没研究,我是直接加密) 05/13 15:40
→ ginnyhuang:看新闻FB似乎要推出个匿名登入...不知道新版情况如何, 05/13 15:40
→ ginnyhuang:坐等api释出囉@@ 希望以上资讯有帮到你~也许其他人有更 05/13 15:40
→ ginnyhuang:更安全的做法? 05/13 15:41
→ ginnyhuang:刚查到有关实作OAuth2"服务"的系列文,还不错: 05/13 15:41
→ ginnyhuang:http://ppt.cc/vO3Q 05/13 15:42
→ ginnyhuang:或google: OAuth 2.0 笔记 05/13 15:44
感谢ginny大的回复。
从推文了解,ginny 大是把 "login with google"
当作一个帮user省去打email & password的sign up的工具
想请问我这个从推文中理解的这个流程,是不是正确标准流程?
login with google -> get username(gmail) -> register to AccountManager ->
register username in OUR server -> server grants token ->
use the token fetch protected data in our server
举例来说:
1. emma 在我们的app 使用 login with google
2. app 获得 emma 的 username (emma@gmail.com) & google token
根据scope不同,app可以用这个google token 跟 google 要其他资料 (不重要)
3. app 把 emma@gmail.com register 在 app 的 AccountManager
4. app 把这个account register在"我们的"server database
同时,"我们的" server 也 return 一个token'
5. 之后所有 app 对"我们的"server 要 protect 资料时,都要使用token'
如果这是标准流程,我有问题,
在步骤4,传统登入流程,credential会带 username + password
可是这个OAth是没有带password,这样"我们的"server该如何认证这是emma?
google document看很多次了,可是都只有说到该如何用google token要google资料
或是该怎么把one-time authorization code pass给server
让server可以跟google要资料 都没有解释到我的问题
请板上大大帮忙了
作者: freesamael (烧卖)   2014-12-04 02:49:00
用 google access token 当作 credentials,scopes 只要有 "profile" 就可以了https://developers.google.com/+/api/oauth#profileserver 端拿手机传上来的 token 去 get profile由 return 的 uid 验证是否为 "emma"http://tinyurl.com/pfo848z剩下就两个 error handling 要处理1. 如果手机传给 server 的 token 已经过期应以适当 error code 让 app 重新取得 google token2. 如果手机上的 google account 登出之后看是你的 app 要同时登出还是怎样 handle

Links booklink

Contact Us: admin [ a t ] ucptt.com