Changed the OAuth app tables to refer to profiles instead of users.

Added an owner column to oauth_application.
This commit is contained in:
Zach Copley 2009-11-12 19:34:13 -08:00
parent 14bcac31b8
commit 6e64ce3777
3 changed files with 24 additions and 22 deletions

23
classes/Oauth_application.php Executable file → Normal file
View File

@ -2,32 +2,33 @@
/** /**
* Table Definition for oauth_application * Table Definition for oauth_application
*/ */
require_once 'classes/Memcached_DataObject'; require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
class Oauth_application extends Memcached_DataObject class Oauth_application extends Memcached_DataObject
{ {
###START_AUTOCODE ###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */ /* the code below is auto generated do not remove the above tag */
public $__table = 'oauth_application'; // table name public $__table = 'oauth_application'; // table name
public $id; // int(4) primary_key not_null public $id; // int(4) primary_key not_null
public $owner; // int(4) not_null
public $consumer_key; // varchar(255) not_null public $consumer_key; // varchar(255) not_null
public $name; // varchar(255) not_null public $name; // varchar(255) not_null
public $description; // varchar(255) public $description; // varchar(255)
public $icon; // varchar(255) not_null public $icon; // varchar(255) not_null
public $source_url; // varchar(255) public $source_url; // varchar(255)
public $organization; // varchar(255) public $organization; // varchar(255)
public $homepage; // varchar(255) public $homepage; // varchar(255)
public $callback_url; // varchar(255) not_null public $callback_url; // varchar(255) not_null
public $type; // tinyint(1) public $type; // tinyint(1)
public $access_type; // tinyint(1) public $access_type; // tinyint(1)
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) {
{ return Memcached_DataObject::staticGet('Oauth_application_user',$k,$v); } return Memcached_DataObject::staticGet('Oauth_application',$k,$v);
}
/* the code above is auto generated do not remove the tag below */ /* the code above is auto generated do not remove the tag below */
###END_AUTOCODE ###END_AUTOCODE
} }

14
classes/Oauth_application_user.php Executable file → Normal file
View File

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

View File

@ -210,6 +210,7 @@ create table nonce (
create table oauth_application ( create table oauth_application (
id integer auto_increment primary key comment 'unique identifier', id integer auto_increment primary key comment 'unique identifier',
owner integer not null comment 'owner of the application' references profile (id),
consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key), consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key),
name varchar(255) not null comment 'name of the application', name varchar(255) not null comment 'name of the application',
description varchar(255) comment 'description of the application', description varchar(255) comment 'description of the application',
@ -219,18 +220,18 @@ create table oauth_application (
homepage varchar(255) comment 'homepage for the organization', homepage varchar(255) comment 'homepage for the organization',
callback_url varchar(255) not null comment 'url to redirect to after authentication', 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', 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', access_type tinyint default 0 comment 'default access type, bit 1 = read, bit 2 = write',
created datetime not null comment 'date this record was created', created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified' modified timestamp comment 'date this record was modified'
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table oauth_application_user ( create table oauth_application_user (
user_id integer not null comment 'id of the application user' references user (id), profile_id integer not null comment 'user of the application' references profile (id),
application_id integer not null comment 'id of the application' references oauth_application (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', access_type tinyint default 0 comment 'access type, bit 1 = read, bit 2 = write, bit 3 = revoked',
created datetime not null comment 'date this record was created', created datetime not null comment 'date this record was created',
constraint primary key (user_id, application_id) constraint primary key (profile_id, application_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
/* These are used by JanRain OpenID library */ /* These are used by JanRain OpenID library */