Add new OAuth application tables and DataObjects. Also add a new

column for consumer secret to consumer table.
This commit is contained in:
Zach Copley 2009-11-10 17:10:56 -08:00
parent aa23698553
commit 14bcac31b8
4 changed files with 86 additions and 2 deletions

View File

@ -11,9 +11,10 @@ class Consumer extends Memcached_DataObject
public $__table = 'consumer'; // table name public $__table = 'consumer'; // table name
public $consumer_key; // varchar(255) primary_key not_null public $consumer_key; // varchar(255) primary_key not_null
public $consumer_secret; // varchar(255) not_null
public $seed; // char(32) not_null public $seed; // char(32) not_null
public $created; // datetime() not_null public $created; // datetime not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
/* Static get */ /* Static get */
function staticGet($k,$v=null) function staticGet($k,$v=null)

33
classes/Oauth_application.php Executable file
View File

@ -0,0 +1,33 @@
<?php
/**
* Table Definition for oauth_application
*/
require_once 'classes/Memcached_DataObject';
class Oauth_application extends Memcached_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
public $__table = 'oauth_application'; // table name
public $id; // int(4) primary_key not_null
public $consumer_key; // varchar(255) not_null
public $name; // varchar(255) not_null
public $description; // varchar(255)
public $icon; // varchar(255) not_null
public $source_url; // varchar(255)
public $organization; // varchar(255)
public $homepage; // varchar(255)
public $callback_url; // varchar(255) not_null
public $type; // tinyint(1)
public $access_type; // tinyint(1)
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=null)
{ return Memcached_DataObject::staticGet('Oauth_application_user',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
}

View File

@ -0,0 +1,24 @@
<?php
/**
* Table Definition for oauth_application_user
*/
require_once 'classes/Memcached_DataObject';
class Oauth_application_user extends Memcached_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
public $__table = 'oauth_application_user'; // table name
public $user_id; // int(4) primary_key not_null
public $application_id; // int(4) primary_key not_null
public $access_type; // tinyint(1)
public $created; // datetime not_null
/* Static get */
function staticGet($k,$v=null)
{ return Memcached_DataObject::staticGet('Oauth_application_user',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
}

View File

@ -176,6 +176,7 @@ create table fave (
create table consumer ( create table consumer (
consumer_key varchar(255) primary key comment 'unique identifier, root URL', consumer_key varchar(255) primary key comment 'unique identifier, root URL',
consumer_secret varchar(255) not null comment 'secret value',
seed char(32) not null comment 'seed for new tokens by this consumer', seed char(32) not null comment 'seed for new tokens by this consumer',
created datetime not null comment 'date this record was created', created datetime not null comment 'date this record was created',
@ -207,6 +208,31 @@ create table nonce (
constraint primary key (consumer_key, ts, nonce) constraint primary key (consumer_key, ts, nonce)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table oauth_application (
id integer auto_increment primary key comment 'unique identifier',
consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key),
name varchar(255) not null comment 'name of the application',
description varchar(255) comment 'description of the application',
icon varchar(255) not null comment 'application icon',
source_url varchar(255) comment 'application homepage - used for source link',
organization varchar(255) comment 'name of the organization running the application',
homepage varchar(255) comment 'homepage for the organization',
callback_url varchar(255) not null comment 'url to redirect to after authentication',
type tinyint default 0 comment 'type of app, 0 = browser, 1 = desktop',
access_type tinyint default 0 comment 'default access type, 0 = read-write, 1 = read-only',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified'
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table oauth_application_user (
user_id integer not null comment 'id of the application user' references user (id),
application_id integer not null comment 'id of the application' references oauth_application (id),
access_type tinyint default 0 comment 'access type, 0 = read-write, 1 = read-only',
created datetime not null comment 'date this record was created',
constraint primary key (user_id, application_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
/* These are used by JanRain OpenID library */ /* These are used by JanRain OpenID library */
create table oid_associations ( create table oid_associations (