第三方登录服务器验证(Instagram,Twitter,Facebook)小记

第三方登录服务器验证(Instagram,Twitter,Facebook)小记,第1张

Instagram第三方授权登录为Web式样,故APP端直接访问如下URL

https://api.instagram.com/oauth/authorize/?client_id=YOUR_INS_APP_CLIENT_ID&redirect_uri=CALLBACK_URL

YOUR_INS_APP_CLIENT_ID:instagram创建APP后获取

CALLBACK_URL:https://www.xxxxx.com/?xxx=xxxx&response_type=code (用于授权登录成功后,调用自己网站接口,获取用户信息,如:https://www.xxxxx.com/?xxx=xxxx&code=36ac6cd14ceb49dbb40ec8c4b3864da0)

服务器获取code,获取access_token

Request the access_token,获取用户信息

参考:

instagram 开发者

Authentication

https://graph.facebook.com/v2.10/debug_token?input_token=xxxAPP 传递Token xxx&access_token=xxxxFacebook 平台xxxx

参考:

App Access Token

Token 验证

验证用户

URL: https://dev.twitter.com/rest/reference/get/account/verify_credentials

Http Method:Get

服务器安全验证方法:

APP端上传用户的Token,Token Secret,id.

服务器与twitter交互,获取用户id

服务器获取的id与APP上传id进行比较.如下

参考:

Create a signature

Twitter api test

apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证。

通常分为以下三步:

1、在apache的配置文件httpd.conf中声明要进行验证的目录

2、在要进行验证的目录中创建.htaccess文件,在此文件中指明用于验证的文件存放的位置

3、根据.htaccess指明的位置,用apache自带的htpasswd命令创建用于验证的文件

步骤说明:

假设要对/home/ddd这个目录进行访问控制。(这个目录不在APACHE的主目录中,因此要用alias 添加为虚拟目录)

1、在apache的配置文件httpd.conf中声明要进行验证的目录

编辑httpd.conf

LoadModule auth_module modules/mod_auth.so #需要加载此模块进行认证

Alias /test "/home/ddd" #添加为虚拟目录

Options Indexes MultiViews

AllowOverride All #允许用.htaccess文件中指定的验证文件进行身份验证

Order allow,deny

Allow from all

#AllowOverride all 表示进行身份验证 这是关键的设置

此外,也可用AllowOverride AuthConfig

实例:

ServerName test.xxx.com

ServerAlias xxx.com 123.123.123.123

DocumentRoot /data/ddd/

Options Indexes FollowSymlinks MultiViews

AllowOverride All

ErrorLog /error.log

2、在要进行验证的目录中创建.htaccess文件,在此文件中指明用于验证的文件存放的位置

在/home/ddd下创建.htaccess文件

vi /home/ddd/.htaccess,内容如下:

AuthName "请输入用户名及口令"

AuthType Basic

AuthUserFile /home/.htpasswd

require valid-user

#AuthName 描述,出现在验证对话框标题栏中

#AuthUserFile /home/.htpasswd (指定验证文件存放于/home中,文件名为.htpasswd,此文件具有隐含属性,其中包括允许访问的用户名及密码。

#require valid-user 使用验证文件中的有效用户进行验证

也可使用 require user <用户>来指定特定用户进行验证

#密码文件推荐取名为.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一些。

3、根据.htaccess指明的位置,用apache自带的htpasswd命令创建用于验证的文件

由于已经在第2步中指定验证文件为/home/.htpasswd文件,所以下面创建这个文件

htpasswd -c /home/.htpasswd jp #创建.htpasswd文件,并添加用户jp,会要求输入口令

htpasswd /home/.htpasswd test #.htpasswd文件中添加第二个用户:test)

也可以不通过交互方式,直接在命令行,将口令添加到.htpasswd文件中

htpasswd -bc /home/.htpasswd jp 111 (创建.htpasswd文件,并添加用户jp,密码为111)

htpasswd -b /home/.htpasswd test 222 (.htpasswd文件中添加第二个用户:test 密码为222)

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数,因为已经有.htpasswd文件,就不用再创建了。-b表示从命令行直接获取参数值,添加到验证文件.htpasswd中

如果想修改密码,可以用如下命令:

htpasswd -m .htpasswd jp

对存放于.htpasswd文件中的用户jp进行口令更改


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/202777.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存