Merge pull request #42 from liangliangyy/dev

修改oauth用户
master
车亮亮 8 years ago committed by GitHub
commit 2a7a96d566
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,4 +3,12 @@ from django.contrib import admin
# Register your models here. # Register your models here.
from .models import BlogUser from .models import BlogUser
admin.site.register(BlogUser)
class BlogUserAdmin(admin.ModelAdmin):
list_display = ('id', 'nickname', 'username','email','last_login','date_joined')
list_display_links = ('id', 'username')
admin.site.register(BlogUser, BlogUserAdmin)

@ -8,11 +8,11 @@ class OAuthUser(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='用户', blank=True, null=True) author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='用户', blank=True, null=True)
openid = models.CharField(max_length=50) openid = models.CharField(max_length=50)
nikename = models.CharField(max_length=50, verbose_name='昵称') nikename = models.CharField(max_length=50, verbose_name='昵称')
token = models.CharField(max_length=150) token = models.CharField(max_length=150, null=True, blank=True)
picture = models.CharField(max_length=350, blank=True, null=True) picture = models.CharField(max_length=350, blank=True, null=True)
type = models.CharField(blank=False, null=False, max_length=50) type = models.CharField(blank=False, null=False, max_length=50)
email = models.CharField(max_length=50, null=True, blank=True) email = models.CharField(max_length=50, null=True, blank=True)
token = models.CharField(max_length=50, null=True, blank=True) matedata = models.CharField(max_length=2000, null=True, blank=True)
def __str__(self): def __str__(self):
return self.nikename return self.nikename

@ -117,6 +117,7 @@ class WBOauthManager(BaseOauthManager):
datas = json.loads(rsp) datas = json.loads(rsp)
user = OAuthUser() user = OAuthUser()
user.matedata = rsp
user.picture = datas['avatar_large'] user.picture = datas['avatar_large']
user.nikename = datas['screen_name'] user.nikename = datas['screen_name']
user.openid = datas['id'] user.openid = datas['id']
@ -185,6 +186,7 @@ class GoogleOauthManager(BaseOauthManager):
datas = json.loads(rsp) datas = json.loads(rsp)
user = OAuthUser() user = OAuthUser()
user.matedata = rsp
user.picture = datas['picture'] user.picture = datas['picture']
user.nikename = datas['name'] user.nikename = datas['name']
user.openid = datas['sub'] user.openid = datas['sub']
@ -255,6 +257,7 @@ class GitHubOauthManager(BaseOauthManager):
user.openid = datas['id'] user.openid = datas['id']
user.type = 'github' user.type = 'github'
user.token = self.access_token user.token = self.access_token
user.matedata = rsp
if datas['email']: if datas['email']:
user.email = datas['email'] user.email = datas['email']
@ -318,6 +321,7 @@ class FaceBookOauthManager(BaseOauthManager):
user.openid = datas['id'] user.openid = datas['id']
user.type = 'facebook' user.type = 'facebook'
user.token = self.access_token user.token = self.access_token
user.matedata = rsp
if datas['email']: if datas['email']:
user.email = datas['email'] user.email = datas['email']
if datas['picture'] and datas['picture']['data'] and datas['picture']['data']['url']: if datas['picture'] and datas['picture']['data'] and datas['picture']['data']['url']:
@ -327,24 +331,6 @@ class FaceBookOauthManager(BaseOauthManager):
logger.warn(e) logger.warn(e)
return None return None
"""
params = {
'input_token': self.access_token,
'access_token': self.client_id + '|' + self.client_secret
}
url = 'https://graph.facebook.com/debug_token' # + urllib.parse.urlencode(params)
rsp = self.do_get(url, params)
try:
obj = json.loads(rsp)
userid = str(obj["data"]["user_id"])
url = 'https://graph.facebook.com/v2.6/' + userid
params = {'access_token': self.access_token}
rsp = self.do_get(url, params)
print(rsp)
except:
pass
"""
def get_oauth_apps(): def get_oauth_apps():
applications = BaseOauthManager.__subclasses__() applications = BaseOauthManager.__subclasses__()

Loading…
Cancel
Save