openid.py 976 B

1234567891011121314151617181920212223242526272829303132
  1. from ._base import SQLBaseStore
  2. class OpenIdStore(SQLBaseStore):
  3. def insert_open_id_token(self, token, ts_valid_until_ms, user_id):
  4. return self._simple_insert(
  5. table="open_id_tokens",
  6. values={
  7. "token": token,
  8. "ts_valid_until_ms": ts_valid_until_ms,
  9. "user_id": user_id,
  10. },
  11. desc="insert_open_id_token"
  12. )
  13. def get_user_id_for_open_id_token(self, token, ts_now_ms):
  14. def get_user_id_for_token_txn(txn):
  15. sql = (
  16. "SELECT user_id FROM open_id_tokens"
  17. " WHERE token = ? AND ? <= ts_valid_until_ms"
  18. )
  19. txn.execute(sql, (token, ts_now_ms))
  20. rows = txn.fetchall()
  21. if not rows:
  22. return None
  23. else:
  24. return rows[0][0]
  25. return self.runInteraction(
  26. "get_user_id_for_token", get_user_id_for_token_txn
  27. )