Browse Source

proper session user handling

Maxim Sokhatsky 11 years ago
parent
commit
cb883b5241

+ 5 - 9
apps/face/priv/static/google_sdk.js

@@ -1,15 +1,11 @@
 function plusoneCallback(auth){
 function plusoneCallback(auth){
-  if(!auth['g-oauth-window']) {
+  if (!auth['g-oauth-window']) { console.log('skip autologin'); }
-    console.log('skip autologin');
+  else if(auth['access_token']) {
-  } else if(auth['access_token']){
     gapi.client.load('oauth2', 'v2', function(){
     gapi.client.load('oauth2', 'v2', function(){
       gapi.client.oauth2.userinfo.get().execute(function(oauthResp){
       gapi.client.oauth2.userinfo.get().execute(function(oauthResp){
-        gapi.client.load('plus', 'v1', function(){
+            if(plusLogin) plusLogin(oauthResp);
-          gapi.client.plus.people.get({'userId':'me'}).execute(function(profileResp){
+     }); });
-            if(plusLogin)plusLogin($.extend({}, gapi.auth.getToken(), oauthResp, profileResp, {'g-oauth-window': 'defined'})); }); }); }); });
+  } else if(auth['error']) { console.log('error'); }
-  }else if(auth['error']){
-        console.log('error');
-  }
 }
 }
 
 
 function render(){
 function render(){

+ 0 - 1
apps/face/priv/templates/index.html

@@ -12,7 +12,6 @@
 {{body}}
 {{body}}
 <script>var transition = {pid: '', host: 'localhost' };</script>
 <script>var transition = {pid: '', host: 'localhost' };</script>
 <script>function handle_web_socket(body) { console.log(String(bert.decodebuf(body))); } </script>
 <script>function handle_web_socket(body) { console.log(String(bert.decodebuf(body))); } </script>
-<script src='https://code.jquery.com/jquery-2.1.0.min.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/bullet.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/bullet.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/n2o.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/n2o.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/bert.js' type='text/javascript' charset='utf-8'></script>
 <script src='/static/nitrogen/bert.js' type='text/javascript' charset='utf-8'></script>

+ 9 - 3
apps/face/src/index.erl

@@ -8,6 +8,8 @@
 -include_lib("kvs/include/user.hrl").
 -include_lib("kvs/include/user.hrl").
 -jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0]).
 -jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0]).
 
 
+user() -> case wf:user() of undefined -> #user{id="maxim"}; U->U end.
+
 join(Game) ->
 join(Game) ->
     ws:send(bert:encodebuf(bert:tuple(
     ws:send(bert:encodebuf(bert:tuple(
         bert:atom('client'),
         bert:atom('client'),
@@ -103,13 +105,17 @@ event(init) -> event(attach), event(join);
 event(combo)  -> wf:info("Combo: ~p",[wf:q(discard_combo)]);
 event(combo)  -> wf:info("Combo: ~p",[wf:q(discard_combo)]);
 event(join)   -> wf:wire(join("1000001"));
 event(join)   -> wf:wire(join("1000001"));
 event(take)   -> wf:wire(take("1000001", wf:q(take_combo)));
 event(take)   -> wf:wire(take("1000001", wf:q(take_combo)));
-event(player_info) -> wf:wire(player_info(wf:f("'~s'",["maxim"]),wf:f("'~s'",[game_okey])));
+event(player_info) -> 
+    User = user(),
+    wf:wire(player_info(wf:f("'~s'",[wf:to_list(User#user.id)]),wf:f("'~s'",[game_okey])));
 event(attach) -> 
 event(attach) -> 
+    wf:info("ATTACH"),
     {ok,GamePid} = game_session:start_link(self()),
     {ok,GamePid} = game_session:start_link(self()),
     ets:insert(globals,{wf:session_id(),GamePid}),
     ets:insert(globals,{wf:session_id(),GamePid}),
     put(game_session, GamePid),
     put(game_session, GamePid),
-    User = wf:user(),
+    User = user(),
-    Login = case User of undefined -> "maxim"; _ -> User#user.id end,
+    Login = wf:to_list(User#user.id),
+    wf:info("Session User: ~p",[Login]),
     Token = auth_server:generate_token(1000001,Login),
     Token = auth_server:generate_token(1000001,Login),
     wf:wire(attach(wf:f("'~s'",[Token]))),
     wf:wire(attach(wf:f("'~s'",[Token]))),
     ok;
     ok;