2013-04-29 41 views
0

是否可以在WAMS中的服務器上的用戶對象中添加其他屬性?我想將我的用戶表的Id主鍵存儲在我的表格腳本中(安全)使用。目前唯一的ID是供應商特定的身份驗證ID,但我希望能夠允許用戶選擇身份驗證方法。目前我(簡化)表的設計如下:在Azure移動服務中擴展用戶身份驗證對象

用戶表:

  • ID
  • googleId
  • twitterId
  • facebookId
  • 的名字,等...

聯盟表

  • ID
  • 用戶id
  • 姓名等

我想存儲在排名表的用戶id字段中的用戶主鍵,然後對其進行查詢,以確保只有用戶去看看他們創建的聯賽。目前,表腳本中的用戶對象通過帶Google/Twitter/Windows身份驗證令牌的User對象發送,並且我必須執行查詢以獲取主鍵用戶標識,每次我想對錶執行操作時一個userId列。

理想的解決辦法是,當我的用戶表中插入腳本被稱爲上註冊,登錄我可以這樣做:

// PSEUDO CODE 
function insert(item, user, request) { 
    var appUserId; 
    Query the user table using the user.userId Google/Twitter/Facebook id 
    If user exists { 
     // Set a persisted appUserId to use in all subsequent table scripts. 
     user.appUserId = results.id; 
    } else { 
     Set the GooTwitFace columns on the user table, from user.userId 
     insert the user then get the inserted record id 
      // Set a persisted appUserId to use in all subsequent table scripts 
      user.appUserId = insertUserPK; 
    } 
} 

然後,在隨後的表腳本,我想在查詢中使用user.appUserId

回答

0

如果你所要做的只是授權用戶只能訪問他們自己的數據,我不確定你甚至需要「用戶」表。只需在用戶對象上使用特定於提供者的userId來查詢「聯盟」表(確保userId列已編入索引)。這些值將是特定於提供者的,但這不應該有任何區別。

如果您試圖在整個用戶的Google/Facebook/Twitter登錄中保留單一用戶身份的概念,那麼您需要一個「用戶」表以及您所描述的查找類型是一個更復雜的問題。我們希望爲這種情況提供支持作爲一個開箱即用的功能。自己做這件事可能(但相當麻煩),讓我知道如果這是你想要做的。

+0

謝謝Yavor,有多個供應商的用戶ID是我想要做的。我想解決我的問題的另一種方法可能是會話對象? – conradj 2013-05-08 09:23:35

相關問題