我花了幾天的時間搜索網頁,然後畫一個空白-im新的Python!我只是想將RPX(janrain)整合到Appengine中 - 腳本插入和openid標記的返回代碼 - 這些都很棒 - 但除此之外,沒有人會進一步考慮它,因爲在實際創建openid登錄工作 - 爲什麼?我假設沒有會話管理?RPX,OpenID - 如何爲AppEngine寫一個合適的SignIn處理程序
這是一個簡單的類處理程序,它獲取開放標識的TOKEN,然後進行抓取以抓取用戶配置文件。所有非常簡單的使用RPX。
簡單的處理程序來獲取RPX
class RPXHandler(webapp.RequestHandler):
def get(self):
token = self.request.get('token')
url = 'https://rpxnow.com/api/v2/auth_info'
args = {
'format': 'json',
'apiKey': '#YOUR KEY#',
'token': token
}
r = urlfetch.fetch(url=url,
payload=urllib.urlencode(args),
method=urlfetch.POST,
headers={'Content-Type':'application/x-www-form-urlencoded'}
)
json = simplejson.loads(r.content)
logging.info(json)
if json['stat'] == 'ok':
unique_identifier = json['profile']['identifier']
nickname = json['profile']['preferredUsername']
email = json['profile']['email']
# log the user in using the unique_identifier
# this should your cookies or session you already have implemented
self.redirect('static/loggedin.html')
else:
self.redirect('static/error.html')
現在#這裏的響應是問題開始的地方 - 理想,我們可以偷懶,只要登錄他們到谷歌帳戶 - 但他們沒有登錄用戶的方法在;
user.login(電子郵件)
,這樣放棄使用谷歌賬戶的希望 - 和公正,如果我們有開放的ID - 何必呢!
SO ...
我需要的是我自己的用戶數據存儲 - 這就是簡單 - 確定如果用戶登錄的一些手段 - 會話?但在AppEngine中,它們不支持會話。
我已經找到了幾類libarys其說,他們處理這個,但是這一切看起來很糟糕記錄,並沒有良好的代碼示例
誰能幫助?
你不應該使用所有的帽子 - 即使是一個標題 - 它看起來像你是可愛的。 – 2010-01-27 18:10:46