Ejemplo n.º 1
0
def authorization(request):
    """
    获取用户信息,登录,跳转
    :param request:
    :return:
    """
    """
    https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6fe7f0568b75d925&redirect_uri=http://www.yinzishao.cn/authorization&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect
    """
    code = request.GET.get('code')
    auth_redirect_uri = DOMAIN + "authorization"
    api = WeixinAPI(appid=APP_ID,
	    app_secret=APP_SECRET,
	    redirect_uri=auth_redirect_uri)
    auth_info = api.exchange_code_for_access_token(code=code)
    api = WeixinAPI(access_token=auth_info['access_token'])
    resp = api.user(openid=auth_info['openid'])
    request.session['info'] = resp
    openid = resp['openid']

    try:
        user = User.objects.get(username=openid)
    except User.DoesNotExist,e:
        print "user not exist"
        user = User.objects.create_user(openid,password=openid)
Ejemplo n.º 2
0
def authorization():
    code = request.args.get('code')
    api = WeixinAPI(appid=APP_ID,
                    app_secret=APP_SECRET,
                    redirect_uri=REDIRECT_URI)
    auth_info = api.exchange_code_for_access_token(code=code)
    api = WeixinAPI(access_token=auth_info['access_token'])
    resp = api.user(openid=auth_info['openid'])
    return jsonify(resp)
Ejemplo n.º 3
0
def weixin_authorization(request):
    code = request.GET.get('code')
    api = WeixinAPI(
        appid=settings.APP_ID,
        app_secret=settings.APP_SECRERT,
        redirect_uri=settings.REDIRECT_URI
    )

    auth_info = api.exchange_code_for_access_token(code=code)
    api = WeixinAPI(access_token=auth_info['access_token'])
    resp = api.user(openid=auth_info['openid'])
    return Response(data=resp, status=status.HTTP_200_OK)
Ejemplo n.º 4
0
    def get(self, request):
        print(1111111111)
        code = request.GET.get('code')

        print(code)
        api = WeixinAPI(appid="wxbb19e286afae10db",
                        app_secret="064004a0dd2a8a4c0eeed40975e8907c",
                        redirect_uri="http://127.0.0.1:8000/authorization")
        auth_info = api.exchange_code_for_access_token(code=code)
        api = WeixinAPI(access_token=auth_info['access_token'])
        resp = api.user(openid=auth_info['openid'])
        return redirect(
            "http://127.0.0.1:8000/taskpub?nickname={}&headimgurl={}".format(
                resp["nickname"], resp["headimgurl"]))
Ejemplo n.º 5
0
def login():
	global APP_ID, APP_SECRET, REDIRECT_URI
	api = WeixinAPI(appid=APP_ID,
					app_secret=APP_SECRET,
					redirect_uri=REDIRECT_URI)
	redirect_uri = api.get_authorize_login_url(scope=("snsapi_base",))
	return redirect(redirect_uri)
Ejemplo n.º 6
0
def adminAuthorization(request):
    """
    获取用户信息,登录,跳转
    :param request:
    :return:
    """
    auth_redirect_uri = DOMAIN + "adminAuthorization"
    code = request.GET.get('code')
    api = WeixinAPI(appid=APP_ID,
	    app_secret=APP_SECRET,
	    redirect_uri=auth_redirect_uri)
    auth_info = api.exchange_code_for_access_token(code=code)
    api = WeixinAPI(access_token=auth_info['access_token'])
    resp = api.user(openid=auth_info['openid'])
    request.session['info'] = resp
    return redirect(DOMAIN + 'administor/view/index.html')
Ejemplo n.º 7
0
def weixinlogin():
    api = WeixinAPI(appid=APP_ID,
                    app_secret=APP_SECRET,
                    redirect_uri=REDIRECT_URI)
    authorize_url = api.get_authorize_url(scope=("snsapi_base", ))
    #redirect_uri = api.get_authorize_login_url(scope=("snsapi_login",))
    return redirect(authorize_url)
Ejemplo n.º 8
0
def weixin_login(request):
    api = WeixinAPI(
        appid=settings.APP_ID,
        app_secret=settings.APP_SECRERT,
        redirect_uri=settings.REDIRECT_URI
    )
    redirect_uri = api.get_authorize_login_url(scope=('snsapi_login',))
    return Response(data=redirect_uri, status=status.HTTP_200_OK)
Ejemplo n.º 9
0
# -*- coding: utf-8 -*-

from weixin.client import WeixinAPI
from weixin.oauth2 import OAuth2AuthExchangeError

APP_ID = 'your app id'
APP_SECRET = 'your secret'
REDIRECT_URI = 'http://www.exmple.com'

code = '0418f2c46cd26e4f9eee5bf03320662M'

api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI)

try:
    pass
    # print api.get_authorize_login_url(scope=("snsapi_login",))
    # print api.exchange_code_for_access_token(code=code)
except OAuth2AuthExchangeError as e:
    print(e)

auth_info = {
    'access_token':
    'OezXcEiiBSKSxW0eoylIeGXVgVFIUy2pK5I7TVatC5MGtVqTIWjtyV5Pax8ZLiWw-NdEN9dPkEX8Yewsve2AktmzS0gmbvzRKO49l6sxHRfhXg1no5ObdGufYhRIubP2m3FUdv-Cop3t3S_xwMbBWQ',
    'refresh_token':
    'OezXcEiiBSKSxW0eoylIeGXVgVFIUy2pK5I7TVatC5MGtVqTIWjtyV5Pax8ZLiWw44bjXRXdmPsclqGIjWs777H3p00QI9a3hzX265Uq9fPJZttNQApdCRPbySXDfofbjniiwsVJiT7fTv7j5jCAxg',
    'openid': u'oV02tuA8Wt6Kk7S0pVydThYvmSJA',
    'expires_in': 7200,
    'scope': u'snsapi_login'
}

try:
Ejemplo n.º 10
0
 def getUserInfo(code):
     auth_info = WechatUser.api.exchange_code_for_access_token(code=code)
     data = WeixinAPI(access_token=auth_info['access_token'])
     return data.user(openid=auth_info['openid'])
Ejemplo n.º 11
0
 def getUrl(url):
     WechatUser.api = WeixinAPI(appid=WechatUser.APP_ID, app_secret=WechatUser.APP_SECRET, redirect_uri=url)
     return WechatUser.api.get_authorize_url(scope=WechatUser.scope)
Ejemplo n.º 12
0
try:
    import __builtin__
    input = getattr(__builtin__, 'raw_input')
except (ImportError, AttributeError):
    pass


appid = input("App ID: ").strip()
app_secret = input("App Secret: ").strip()
redirect_uri = input("Redirect URI: ").strip()
raw_scope = input("Requested scope (separated by spaces, blank for just basic read): ").strip()
scope = raw_scope.split(' ')
# For basic, API seems to need to be set explicitly
if not scope or scope == [""]:
    scope = ["snsapi_login"]


api = WeixinAPI(appid=appid,
                app_secret=app_secret,
                redirect_uri=redirect_uri)
redirect_uri = api.get_authorize_login_url(scope=scope)

print ("Visit this page and authorize access in your browser: "+ redirect_uri)

code = (str(input("Paste in code in query string after redirect: ").strip()))

access_token = api.exchange_code_for_access_token(code)

print ("access token: " )
print (access_token)
Ejemplo n.º 13
0
    def __init__(self,
                 token=None,
                 appid=None,
                 appsecret=None,
                 partnerid=None,
                 partnerkey=None,
                 paysignkey=None,
                 access_token=None,
                 access_token_expires_at=None,
                 jsapi_ticket=None,
                 jsapi_ticket_expires_at=None,
                 weixinname=None,
                 firsteye=None,
                 menuMap=None,
                 owner_db=None,
                 open_appid=None,
                 open_secrept=None,
                 open_redirect_uri=None):
        """
        :param token: 微信 Token
        :param appid: App ID
        :param appsecret: App Secret
        :param partnerid: 财付通商户身份标识, 支付权限专用
        :param partnerkey: 财付通商户权限密钥 Key, 支付权限专用
        :param paysignkey: 商户签名密钥 Key, 支付权限专用
        :param access_token: 直接导入的 access_token 值, 该值需要在上一次该类实例化之后手动进行缓存并在此处传入, 如果不传入, 将会在需要时自动重新获取
        :param access_token_expires_at: 直接导入的 access_token 的过期日期,该值需要在上一次该类实例化之后手动进行缓存并在此处传入, 如果不传入, 将会在需要时自动重新获取
        :param jsapi_ticket: 直接导入的 jsapi_ticket 值, 该值需要在上一次该类实例化之后手动进行缓存并在此处传入, 如果不传入, 将会在需要时自动重新获取
        :param jsapi_ticket_expires_at: 直接导入的 jsapi_ticket 的过期日期,该值需要在上一次该类实例化之后手动进行缓存并在此处传入, 如果不传入, 将会在需要时自动重新获取
        """

        self.__token = token
        self.__token = token
        self.__appid = appid
        self.__appsecret = appsecret
        self.__partnerid = partnerid
        self.__partnerkey = partnerkey
        self.__paysignkey = paysignkey

        self.__access_token = access_token
        self.__access_token_expires_at = access_token_expires_at
        self.__jsapi_ticket = jsapi_ticket
        self.__jsapi_ticket_expires_at = jsapi_ticket_expires_at
        self.__is_parse = False
        self.__message = None
        self.__weixinname = weixinname

        self.owner_db = owner_db

        #实例属性
        self.token = token
        self.appid = appid
        self.open_appid = open_appid
        self.open_secrept = open_secrept
        self.appsecret = appsecret
        self.partnerid = partnerid
        self.partnerkey = partnerkey
        self.paysignkey = paysignkey
        self.firsteye = firsteye
        self.menuMap = menuMap
        self.weixinName = weixinname
        self.open_redirect_uri = open_redirect_uri
        self.openapi = WeixinAPI(appid=self.open_appid,
                                 app_secret=self.open_secrept,
                                 redirect_uri=self.open_redirect_uri)