def GET(self):
log.debug('connect.GET')
user = current_user()
if user:
log.debug('user is {0}'.format(user))
st = smartthings.SmartThings()
params = web.input()
log.debug('params is {0}'.format(params))
if 'code' in params:
# We just logged into SmartThings and got an OAuth code.
user['token'] = st.token(params)
user[SHORT_KEY] = new_shortcode(
collection=users.collection,
keyname=SHORT_KEY,
)
users.register(**user) # not totally sure why need **
result_url = '/data/{0}'.format(user[SHORT_KEY])
raise web.seeother(result_url)
else:
# We are about to redirect to SmartThings to authorize.
raise web.seeother(st.auth_url())
else:
log.error('/connect was accessed without a user session.')
raise web.seeother('/error')
评论列表
文章目录