Fix problem with migration - OAuth
This commit is contained in:
parent
617bff1830
commit
8e3bf97821
@ -25,6 +25,8 @@ from sqlalchemy.ext.declarative import declarative_base
|
|||||||
from sqlalchemy.sql import and_
|
from sqlalchemy.sql import and_
|
||||||
from migrate.changeset.constraint import UniqueConstraint
|
from migrate.changeset.constraint import UniqueConstraint
|
||||||
|
|
||||||
|
|
||||||
|
from mediagoblin.db.extratypes import JSONEncoded
|
||||||
from mediagoblin.db.migration_tools import RegisterMigration, inspect_table
|
from mediagoblin.db.migration_tools import RegisterMigration, inspect_table
|
||||||
from mediagoblin.db.models import MediaEntry, Collection, User, MediaComment
|
from mediagoblin.db.models import MediaEntry, Collection, User, MediaComment
|
||||||
|
|
||||||
@ -382,7 +384,7 @@ def pw_hash_nullable(db):
|
|||||||
|
|
||||||
|
|
||||||
# oauth1 migrations
|
# oauth1 migrations
|
||||||
class Client_v0(Base):
|
class Client_v0(declarative_base()):
|
||||||
"""
|
"""
|
||||||
Model representing a client - Used for API Auth
|
Model representing a client - Used for API Auth
|
||||||
"""
|
"""
|
||||||
@ -407,7 +409,7 @@ class Client_v0(Base):
|
|||||||
else:
|
else:
|
||||||
return "<Client {0}>".format(self.id)
|
return "<Client {0}>".format(self.id)
|
||||||
|
|
||||||
class RequestToken_v0(Base):
|
class RequestToken_v0(declarative_base()):
|
||||||
"""
|
"""
|
||||||
Model for representing the request tokens
|
Model for representing the request tokens
|
||||||
"""
|
"""
|
||||||
@ -415,7 +417,7 @@ class RequestToken_v0(Base):
|
|||||||
|
|
||||||
token = Column(Unicode, primary_key=True)
|
token = Column(Unicode, primary_key=True)
|
||||||
secret = Column(Unicode, nullable=False)
|
secret = Column(Unicode, nullable=False)
|
||||||
client = Column(Unicode, ForeignKey(Client.id))
|
client = Column(Unicode, ForeignKey(Client_v0.id))
|
||||||
user = Column(Integer, ForeignKey(User.id), nullable=True)
|
user = Column(Integer, ForeignKey(User.id), nullable=True)
|
||||||
used = Column(Boolean, default=False)
|
used = Column(Boolean, default=False)
|
||||||
authenticated = Column(Boolean, default=False)
|
authenticated = Column(Boolean, default=False)
|
||||||
@ -424,7 +426,7 @@ class RequestToken_v0(Base):
|
|||||||
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
|
||||||
class AccessToken_v0(Base):
|
class AccessToken_v0(declarative_base()):
|
||||||
"""
|
"""
|
||||||
Model for representing the access tokens
|
Model for representing the access tokens
|
||||||
"""
|
"""
|
||||||
@ -433,12 +435,12 @@ class AccessToken_v0(Base):
|
|||||||
token = Column(Unicode, nullable=False, primary_key=True)
|
token = Column(Unicode, nullable=False, primary_key=True)
|
||||||
secret = Column(Unicode, nullable=False)
|
secret = Column(Unicode, nullable=False)
|
||||||
user = Column(Integer, ForeignKey(User.id))
|
user = Column(Integer, ForeignKey(User.id))
|
||||||
request_token = Column(Unicode, ForeignKey(RequestToken.token))
|
request_token = Column(Unicode, ForeignKey(RequestToken_v0.token))
|
||||||
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
|
||||||
|
|
||||||
class NonceTimestamp_v0(Base):
|
class NonceTimestamp_v0(declarative_base()):
|
||||||
"""
|
"""
|
||||||
A place the timestamp and nonce can be stored - this is for OAuth1
|
A place the timestamp and nonce can be stored - this is for OAuth1
|
||||||
"""
|
"""
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import wtforms
|
import wtforms
|
||||||
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
|
|
||||||
|
|
||||||
class AuthorizeForm(wtforms.Form):
|
class AuthorizeForm(wtforms.Form):
|
||||||
""" Form used to authorize the request token """
|
""" Form used to authorize the request token """
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from oauthlib.common import Request
|
from oauthlib.common import Request
|
||||||
from oauthlib.oauth1 import (AuthorizationEndpoint, RequestValidator,
|
from oauthlib.oauth1 import RequestValidator
|
||||||
RequestTokenEndpoint, AccessTokenEndpoint)
|
|
||||||
|
|
||||||
from mediagoblin.db.models import NonceTimestamp, Client, RequestToken, AccessToken
|
from mediagoblin.db.models import NonceTimestamp, Client, RequestToken, AccessToken
|
||||||
|
|
||||||
@ -110,7 +109,6 @@ class GMGRequestValidator(RequestValidator):
|
|||||||
return client.secret
|
return client.secret
|
||||||
|
|
||||||
def get_access_token_secret(self, client_key, token, request):
|
def get_access_token_secret(self, client_key, token, request):
|
||||||
client = Client.query.filter_by(id=client_key).first()
|
|
||||||
access_token = AccessToken.query.filter_by(token=token).first()
|
access_token = AccessToken.query.filter_by(token=token).first()
|
||||||
return access_token.secret
|
return access_token.secret
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user