diff options
author | tailor <cygnus@janrain.com> | 2006-01-18 23:11:46 +0000 |
---|---|---|
committer | tailor <cygnus@janrain.com> | 2006-01-18 23:11:46 +0000 |
commit | 9350c7f98eedcb81f28fea0f4242726f965f1848 (patch) | |
tree | 567c75350b988c32462fff0ef1d450eb4d9a5756 /Auth | |
parent | 64cdc69b117dabc9d138d41ab8bae28f274bfe95 (diff) | |
download | php-openid-9350c7f98eedcb81f28fea0f4242726f965f1848.zip php-openid-9350c7f98eedcb81f28fea0f4242726f965f1848.tar.gz php-openid-9350c7f98eedcb81f28fea0f4242726f965f1848.tar.bz2 |
[project @ Added MySQL store and store test]
Diffstat (limited to 'Auth')
-rw-r--r-- | Auth/OpenID/Store/SQLStore.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Auth/OpenID/Store/SQLStore.php b/Auth/OpenID/Store/SQLStore.php index 726f948..1fcaca2 100644 --- a/Auth/OpenID/Store/SQLStore.php +++ b/Auth/OpenID/Store/SQLStore.php @@ -644,4 +644,57 @@ class Auth_OpenID_SQLiteStore extends Auth_OpenID_SQLStore { } } +class Auth_OpenID_MySQLStore extends Auth_OpenID_SQLStore { + function setSQL() + { + $this->sql['nonce_table'] = + "CREATE TABLE %s (nonce CHAR(8) UNIQUE PRIMARY KEY, ". + "expires INTEGER) TYPE=InnoDB"; + + $this->sql['assoc_table'] = + "CREATE TABLE %s (server_url VARCHAR(255), handle VARCHAR(255), ". + "secret BLOB, issued INTEGER, lifetime INTEGER, ". + "assoc_type VARCHAR(64), PRIMARY KEY (server_url, handle)) ". + "TYPE=InnoDB"; + + $this->sql['settings_table'] = + "CREATE TABLE %s (setting VARCHAR(128) UNIQUE PRIMARY KEY, ". + "value BLOB) TYPE=InnoDB"; + + $this->sql['create_auth'] = + "INSERT INTO %s VALUES ('auth_key', !)"; + + $this->sql['get_auth'] = + "SELECT value FROM %s WHERE setting = 'auth_key'"; + + $this->sql['set_assoc'] = + "REPLACE INTO %s VALUES (?, ?, !, ?, ?, ?)"; + + $this->sql['get_assocs'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ?"; + + $this->sql['get_assoc'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ? AND handle = ?"; + + $this->sql['remove_assoc'] = + "DELETE FROM %s WHERE server_url = ? AND handle = ?"; + + $this->sql['add_nonce'] = + "REPLACE INTO %s (nonce, expires) VALUES (?, ?)"; + + $this->sql['get_nonce'] = + "SELECT * FROM %s WHERE nonce = ?"; + + $this->sql['remove_nonce'] = + "DELETE FROM %s WHERE nonce = ?"; + } + + function blobEncode($blob) + { + return "0x" . bin2hex($blob); + } +} + ?> |