精华内容
下载资源
问答
  • 根据需求选择相应的登录方式python实现网站微信登录的示例代码微信现在提供两种登录接入方式移动应用微信登录网站应用微信登录这里我们使用的是网站应用微信登录1 注册并通过开放平台开发者资质认证注册微信开放平台...

    最近微信登录开放公测,为了方便微信用户使用,我们的产品也决定加上微信登录功能,然后就有了这篇笔记。

    根据需求选择相应的登录方式

    python实现网站微信登录的示例代码

    微信现在提供两种登录接入方式

    移动应用微信登录

    网站应用微信登录

    这里我们使用的是网站应用微信登录

    1 注册并通过开放平台开发者资质认证

    注册微信开放平台帐号后,在帐号中心中填写开发者资质认证申请,并等待认证通过。

    2 创建网站应用

    通过填写网站应用名称、简介和图标,以及各平台下载地址等资料,创建网站应用

    3 接入微信登录

    在资源中心查阅网站应用开发文档,开发接入微信登陆功能,让用户可使用微信登录你的网站应用

    如果已经完成上面的操作,请继续往下看

    微信网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

    微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

    第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

    通过code参数加上AppID和AppSecret等,通过API换取access_token;

    通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

    具体流程请参考官方文档,我们这里只说一下python的实现方法。官方文档地址 点这里

    不过现在还只有微信接入、获取用户信息、 刷新refresh_token 等简单功能

    首先 需要把代码clone到本地

    然后执行

    python setup.py install

    使用方式非常简单

    from weixin.client import WeixinAPI

    APP_ID = 'your app id'

    APP_SECRET = 'your app secret'

    REDIRECT_URI = 'http://your_domain.com/redirect_uri' # 这里一定要注意 地址一定要加上http/https

    scope = ("snsapi_login", )

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    authorize_url = api.get_authorize_url(scope=scope)

    现在将

    authorize_url 地址在浏览器打开, 将跳转到微信登录页面,使用手机扫码登录后将跳转到

    http://your_domain.com/redirect_uri?code=CODE&state=STATE 页面

    现在我们就可以使用code 来获取登录的 access_token

    access_token = api.exchange_code_for_access_token(code=code)

    access_token 信息为

    {

    "access_token":"ACCESS_TOKEN",

    "expires_in":7200,

    "refresh_token":"REFRESH_TOKEN",

    "openid":"OPENID",

    "scope":"SCOPE"

    }

    参数

    说明

    access_token

    接口调用凭证(有效期目前为2个小时)

    expires_in

    access_token接口调用凭证超时时间,单位(秒)

    refresh_token

    用户刷新access_token(有效期目前为30天)

    openid

    授权用户唯一标识

    scope

    用户授权的作用域,使用逗号(,)分隔

    获取access_token后,就可以进行接口调用,有以下前提:

    access_token有效且未超时;

    微信用户已授权给第三方应用帐号相应接口作用域(scope)。

    对于接口作用域(scope),能调用的接口有以下:

    授权作用域(scope)

    接口

    接口说明

    snsapi_base

    /sns/oauth2/access_token

    通过code换取access_token、refresh_token和已授权scope

    /sns/oauth2/refresh_token

    刷新或续期access_token使用

    /sns/auth

    检查access_token有效性

    snsapi_userinfo

    /sns/userinfo

    获取用户个人信息

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    # 刷新或续期access_token使用

    refresh_token = api.exchange_refresh_token_for_access_token(refresh_token=auth_info['refresh_token'])

    api = WeixinAPI(access_token=auth_info['access_token'])

    # 获取用户个人信息

    user = api.user(openid=auth_info['openid'])

    # 检查access_token有效性

    v = api.validate_token(openid=auth_info['openid'])

    现在就微信登录就完成了

    下面是用 flask 实现的完整的例子

    from flask import Flask

    from flask import Markup

    from flask import redirect

    from flask import request

    from flask import jsonify

    from weixin.client import WeixinAPI

    from weixin.oauth2 import OAuth2AuthExchangeError

    app = Flask(__name__)

    APP_ID = 'appid'

    APP_SECRET = 'app secret'

    REDIRECT_URI = 'http://localhost.com/authorization'

    @app.route("/authorization")

    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)

    @app.route("/login")

    def login():

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    redirect_uri = api.get_authorize_login_url(scope=("snsapi_login",))

    return redirect(redirect_uri)

    @app.route("/")

    def hello():

    return Markup('weixin login!') % '/login'

    if __name__ == "__main__":

    app.run(debug=True)

    参考链接:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录"。下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录。一、第三方登录的原理所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A ...

    这组 OAuth 系列教程,第一篇介绍了基本概念,第二篇介绍了获取令牌的四种方式,今天演示一个实例,如何通过 OAuth 获取 API 数据。

    很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录"。

    下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录。

    一、第三方登录的原理

    所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。

    举例来说,A 网站允许 GitHub 登录,背后就是下面的流程。

    A 网站让用户跳转到 GitHub。

    GitHub 要求用户登录,然后询问"A 网站要求获得 xx 权限,你是否同意?"

    用户同意,GitHub 就会重定向回 A 网站,同时发回一个授权码。

    A 网站使用授权码,向 GitHub 请求令牌。

    GitHub 返回令牌.

    A 网站使用令牌,向 GitHub 请求用户数据。

    下面就是这个流程的代码实现。

    二、应用登记

    一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。

    所以,你要先去 GitHub 登记一下。当然,我已经登记过了,你使用我的登记信息也可以,但为了完整走一遍流程,还是建议大家自己登记。这是免费的。

    访问这个网址,填写登记表。

    应用的名称随便填,主页 URL 填写http://localhost:8080,跳转网址填写 http://localhost:8080/oauth/redirect。

    提交表单以后,GitHub 应该会返回客户端 ID(client ID)和客户端密钥(client secret),这就是应用的身份识别码。

    三、示例仓库

    我写了一个代码仓库,请将它克隆到本地。

    $ git clone git@github.com:ruanyf/node-oauth-demo.git

    $ cd node-oauth-demo

    两个配置项要改一下,写入上一步的身份识别码。

    index.js:改掉变量clientID and clientSecret

    然后,安装依赖。

    $ npm install

    启动服务。

    $ node index.js

    浏览器访问http://localhost:8080,就可以看到这个示例了。

    四、浏览器跳转 GitHub

    示例的首页很简单,就是一个链接,让用户跳转到 GitHub。

    跳转的 URL 如下。

    https://github.com/login/oauth/authorize?

    client_id=7e015d8ce32370079895&

    redirect_uri=http://localhost:8080/oauth/redirect

    这个 URL 指向 GitHub 的 OAuth 授权网址,带有两个参数:client_id告诉 GitHub 谁在请求,redirect_uri是稍后跳转回来的网址。

    用户点击到了 GitHub,GitHub 会要求用户登录,确保是本人在操作。

    五、授权码

    登录后,GitHub 询问用户,该应用正在请求数据,你是否同意授权。

    用户同意授权, GitHub 就会跳转到redirect_uri指定的跳转网址,并且带上授权码,跳转回来的 URL 就是下面的样子。

    http://localhost:8080/oauth/redirect?

    code=859310e7cecc9196f4af

    后端收到这个请求以后,就拿到了授权码(code参数)。

    六、后端实现

    示例的后端采用 Koa 框架编写,具体语法请看教程。

    这里的关键是针对/oauth/redirect的请求,编写一个路由,完成 OAuth 认证。

    const oauth = async ctx => {

    // ...

    };

    app.use(route.get('/oauth/redirect', oauth));

    上面代码中,oauth函数就是路由的处理函数。下面的代码都写在这个函数里面。

    路由函数的第一件事,是从 URL 取出授权码。

    const requestToken = ctx.request.query.code;

    七、令牌

    后端使用这个授权码,向 GitHub 请求令牌。

    const tokenResponse = await axios({

    method: 'post',

    url: 'https://github.com/login/oauth/access_token?' +

    `client_id=${clientID}&` +

    `client_secret=${clientSecret}&` +

    `code=${requestToken}`,

    headers: {

    accept: 'application/json'

    }

    });

    上面代码中,GitHub 的令牌接口https://github.com/login/oauth/access_token需要提供三个参数。

    client_id:客户端的 ID

    client_secret:客户端的密钥

    code:授权码

    作为回应,GitHub 会返回一段 JSON 数据,里面包含了令牌accessToken。

    const accessToken = tokenResponse.data.access_token;

    八、API 数据

    有了令牌以后,就可以向 API 请求数据了。

    const result = await axios({

    method: 'get',

    url: `https://api.github.com/user`,

    headers: {

    accept: 'application/json',

    Authorization: `token ${accessToken}`

    }

    });

    上面代码中,GitHub API 的地址是https://api.github.com/user,请求的时候必须在 HTTP 头信息里面带上令牌Authorization: token 361507da。

    然后,就可以拿到用户数据,得到用户的身份。

    const name = result.data.name;

    ctx.response.redirect(`/welcome.html?name=${name}`);

    (完)

    展开全文
  • 马上注册查阅更多教程,下载海量资源,让你轻松玩做站您需要 登录 才可以下载或查看,没有帐号?...宝塔的常规教程我们收集...讲述这个功能之前,为新手站长科普下,什么是网站日志呢?网站日志是记录web服务器接收处...

    9d79ed6ef1a84eb2c2ac5219ce96b99e.png

    马上注册查阅更多教程,下载海量资源,让你轻松玩做站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    bb61806788b5b14735e8486f1f9f8222.gif

    x

    宝塔面板逐步成熟起来,不管新手站长还是老站长,市场占有率非法高。宝塔的常规教程我们收集整理以及原创发布了很多了,今天当流科技写一个比较大家容易忽略但也非常实用的的一个宝塔功能-关于宝塔面板怎么查看网站的日志呢?

    在讲述这个功能之前,为新手站长科普下,什么是网站日志呢?网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件,确切的讲,应该是服务器日志。网站日志最大的意义是记录网站运营中比如空间的运营情况,被访问请求的记录。通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器、什么分辨率显示器的情况下访问了你网站的哪个页面,是否访问成功。

    日志分析

    从网站上下载下的网站日志,在txt文本中就可以看到以下数据:

    117.26.203.167 - - [02/May/2011:01:57:44 -0700] "GET/index.php HTTP/1.1" 500 19967 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; AskTbCS-ST/5.11.3.15590; .NET CLR 2.0.50727; Alexa Toolbar)"

    分析:

    117.26.203.167 访问ip

    02/May/2011:01:57:44 -0700 访问日期 -时区

    GET/index.php HTTP/1.1 根据HTTP/1.1 协议 抓取(域名下)/index.php 这个页面(GET表示服务器动作)复制代码500 服务器响应状态码

    服务器响应状态码通常状态码有以下几种:200,301,302,304,404,500等。200代表用户成功的获取到了所请求的文件,如果是搜索引擎,则证明蜘蛛在这次爬行中顺利的发现了一些新的内容。而301则代表用户所访问的某个页面url已经做了301重定向(永久性)处理,302则是暂时性重定向。404则代表所访问的页面已经不存在了,或者说访问的url根本就是个错误的。500则是服务器的错误。

    19967 表示抓取了19967个字节

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; AskTbCS-ST/5.11.3.15590; .NET CLR 2.0.50727; Alexa Toolbar 表示访问者使用火狐浏览器及Alexa Toolbar 等访问端信息

    如果你的日志里格式不是如此,则代表日志格式设置不同。

    很多日志里可以看到 200 0 0和200 0 64 则都代表正常抓取。

    抓取频率是通过查看每日的日志里百度蜘蛛抓取次数来获知。抓取频率并没有一个规范的时间表或频率数字,我们一般通过多日的日志对比来判断。

    当然,我们希望百度蜘蛛每日抓取的次数越多越好。

    作为一个站长,必备的一个技能就是会查看网站日志。闲话不多说,咱们来看看宝塔面板怎么查看网站日志?

    1、登录宝塔面板后台-安全-Web日志:/www/wwwlogs  (这里会显示日志大小以及日志文件的路径)

    如图:

    12af6d2f3db70b8284c30d9f37416e95.gif

    日志.png (225.23 KB, 下载次数: 28)

    宝塔面板网站日志

    2018-7-12 22:06 上传

    2、点击 /www/wwwlogs这里,会自动跳转到这个路径,在里面可以看到以下日志文件

    12af6d2f3db70b8284c30d9f37416e95.gif

    日志1.png (59.37 KB, 下载次数: 27)

    宝塔面板网站日志

    2018-7-12 22:13 上传

    由上图我们可以发现 多个网站的时候,日志名称是以网址来命名的,可以直观的看出来

    ==============================================================推荐使用 BGP云服务器5折,国内华东BGP、华中BGP、海外免备案2H云服务器最低329/年   国内BGP 2核 2G 4M 40G+60G 499/年 免费安装宝塔面板,提供基础技术支持

    如需付费技术服务,请点击这里 宝塔运维技术服务项目   宝塔面板技术交流群:418387220技术01:24fb02d823bae1201181802082d71d0d.gif         技术02: 24fb02d823bae1201181802082d71d0d.gif  技术03: 24fb02d823bae1201181802082d71d0d.gif

    ==============================================================

    展开全文
  • 登录西部数码网站到会员中心,点击 虚拟主机管理2.主机列表中找到你需要的主机,点击后面的 管理3.进入主机控制面板,左侧栏中有 数据库 栏目4.页面中可以看到数据库已使用空间,可以增加/备份/清...

    如果你的网站有大量的产品需要展示和买卖,那么通过网络数据库可以方便地进行分类,使产品更有条理、更清晰地展示给客户。

    虚拟主机数据库,一般通过虚拟主机控制面板可以找到并进行管理。以西部数码虚拟主机为例

    1.登录西部数码网站到会员中心,点击 虚拟主机管理

    2.在主机列表中找到你需要的主机,点击后面的 管理

    3.进入主机控制面板,在左侧栏中有 数据库 栏目

    2de2c4bc14aa7b86b3eb265a160216ce.png

    4.在页面中可以看到数据库已使用空间,可以增加/备份/清除或点击管理进入数据库

    我们使用

    虚拟主机常见的数据库类型有MySQL、SqlServer等。如果是购买

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8261;邮箱:jenny@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处::西部数码资讯门户 » 虚拟主机数据库在哪里

    展开全文
  • 相信很多学员还不清楚四川2020年会计继续教育入口在哪里?为了方便学员更顺利的完成学习,小编将具体内容整理如下:相关推荐:中级2021年畅听无忧班|注会2021年新版招生方案推荐阅读:2020年全国已开通地区会计继续...
  • MAC如何查看使用自动登录后保存的网站软件密码我们在登录网站或软件时,有些网站或软件需要输入登录密码,不过为了我们的使用方便,避免一遍遍的重输,我们通常会使用自动登录。不过,遇到我们更换电脑登录时,就会...
  • 【优选源码库】完美解决WordPress后台无法登录网站方案 WordPress易于操作,网站管理员中很受欢迎。 根据小编收到的反馈,一些新手网站管理员也会遇到一些情况,例如无法后台登录该网站。 本文将为每个人提供...
  • 当您拥有某个应用程序或网站的帐户时,几乎总是意味着您...Mac上的密码存储在哪里呢?您所有的密码都存储在名为Keychain Access的应用程序中。这是Apple内置到每台Mac中的macOS应用程序。它是您的iCloud钥匙串访问权限
  • 要迁移数据库打开的终端,请项目目录中键入 python manage.py makemigrations python manage.py migrate 收集您应用中的所有静态文件 python manage.py collectstatic 运行服务器 python manage.py runserv
  • 我想本地服务器上设置一个登录页面,以便通过Android与之通信。时间允许的情况下,我谷歌上搜索并找到了所需的PHP脚本和MySQL代码。我不知道如何本地服务器中添加这些代码并连接它们。:((这主要是为了测试目的...
  • Cookie、LocalStorage 与 SessionStorage的区别在哪里

    万次阅读 多人点赞 2018-09-12 15:30:24
    基本概念 Cookie Cookie 是小甜饼的意思。...它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过 Cookie 中存入一段辨别用户身份的数据来实现的。 local...
  • 我试图登录到我的学校网站,利用aspx的请求,以便收集一些数据。我的问题与这里描述的类似:Log in to ASP website using Python's Requests module但是,我的表单还需要SubmitButton.x和SubmitButton.y,我不知道从...
  • 1. 运维部门的需求那时候,数据中心的运维管理人员的技术水平还处于“社会主义初级阶段“,经常会出现一些低级的误操作,导致网站突然无法正常访问,解决问题基本靠人堆里吼一声”谁TM干的”。痛苦在于,误操作而...
  • phpcms数据库备份phpcms网站... 登录网站管理后台,记录PHPCMS V9的版本为了防止因版本升级后数据库无法进行恢复,所以管理员应该养成备份数据时要记录相应的平台版本。同时还要提醒记录下这时候的管理员的帐号...
  • 移动或者网站中,我们常常看见一些诸如,使用第三方登录:QQ登录、微信登录、微博登录等等 那么,我们等我们使用了QQ登录(其它类似)后,用户的信息是保存QQ服务器还是应用的服务器? 假如这个应用可以提供拍照...
  • 无论如何或在哪里设置 WordPress,请使用相同的 URL 登录: http://[WordPress 域名】/wp-admin 输入用户名和密码,然后单击登录。这将打开 WordPress 控制面板。 下一步 如果您忘记了登录信息,可以重置 ...
  • 作为一名职场人士,你是否有这样的困惑。 需要经常登录网站非常多,每个网站都申请了个人... - 半天都找不到自己的笔记本在哪里? - 所有账号和密码记录在一个地方怕泄露? - .... 或许本文可以解决你的烦恼。
  • 一、Tomcat数据库连接池配置1、Tomcat5.5的安装程序默认是没有管理(Admin)模块的,所以要先Tomcat网站上下载最新的admin模块包(apache-tomcat-5.5.26-admin.zip)2、下载后将解压出来的文件copy到tomcat安装目录下...
  • 平时经常会把前端浏览器的几种缓存方式拿来作比较, ...它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过 Cookie 中存入一段辨别用户身份的数据来实...
  • 最近爬一个网站,想直接下载其中的torrent文件,发现该torrent文件下载页面是点击下载按钮,提交一个form表单到后台,然后开始下载,使用python requests提交表单,但是下载下来的文件是论坛的首页,不知道哪里出错了,...
  • Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie用户退出会话的时候就被删除...
  • 网站没有备案接入QQ互联,需要填写申请表格,非常的简单,首先确保你的域名是国际域名,后缀为.com、.top、.net或.org,.vip等等,然后需要下载国际域名的证书,这需要到购买域名的地方下载,如果不知道在哪里,可以...
  • 这个网站类似于无需预先登录的BBS,用户能上面发帖买卖二手货、交友、租房子、找工作,杨浩涌就曾用它卖掉了自己的吉他和沙发。虽然这个类似BBS的网站极其简单,但当时的用户数和访问量都已经很大。仅靠向每条招聘...
  • 这时,公司又发出了一个新的规定,规定中除了继续对使用QQ聊天工具、浏览网页的行为进行限制外,还增加了不能使用MSN即时通讯工具、不能打开主要门户网站的邮箱登录页面、使用公司的外部电子邮箱发送外部电子...
  • 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及...
  • 我的网站中有上千个会员,但是我想知道哪些会员是活跃的,这个要在哪里看呢?很遗憾的告诉你,ECSHOP默认后台没这个功能,不过我们可以通过小小的二次开发来实现。下面教程就会告诉你:如何在后台会员列表中显示每个...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 356
精华内容 142
关键字:

在哪里登录网站