• OAuth2.0服务器端的实现


    authorize 授权关系存储表
    字段 备注
    appid 应用ID
    userid 用户ID
    addtime 添加时间
    …… 其他
    表3 access_token 访问令牌存储表
    字段 备注
    access_token 访问令牌
    addtime 添加时间
    …… 其他

    一个OAuth2.0服务器端的实现
    全部代码见附件.

    数据库是这样的:
    (没有必要用数据库,access_token是临时的,放在内存中就可以了)
    create database auth;
    use auth;

    create table access_token ( 
    id bigint,
    access_token varchar(255) NOT NULL,
    token_type varchar(255),
    expires varchar(255),
    refresh_token varchar(255),
    username varchar(255),
    client_id varchar(255),
    createdtime datetime,
    modifiedtime datetime
    );

    create table user ( 
    uid bigint,
    username varchar(255) NOT NULL,
    password varchar(255) NOT NULL
    );

    create table client (
    id bigint,
    client_id varchar(255) NOT NULL, 
    client_secret varchar(255) 
    );


    OAuth2.0协议主要是用access_token代替密码.
    授权服务器保管用户密码并向第三方应用发放access_token,第三方应用接触不到用户
    的密码.
    资源服务器保管需要授权才能访问的资源(其实就是服务器提供的API),第三方应用凭
    access_token访问资源服务器.(资源服务器还要问一下授权服务器这个access_token是
    不是真的)

    授权服务器做两件事:
    1. 发放access_token的servlet
    2. 向资源服务器提供一个验证access_token真伪的WebService

  • 相关阅读:
    关于Python中的yield
    Python的getattr(),setattr(),delattr(),hasattr()
    django Forgienkey字段 在前台用js做处理
    利用checkbox的到值,并且存到数据库修改的话要显示之前选择的
    关于django批量上传图片
    block extends include三者的差别跟用法
    全智能建造
    共享经济
    新工匠
    运营方案
  • 原文地址:https://www.cnblogs.com/fx2008/p/3282774.html
Copyright © 2020-2023  润新知