美文网首页
授权接口设计

授权接口设计

作者: zh_harry | 来源:发表于2022-06-04 13:33 被阅读0次

说明

实现基本功能

  1. 登录token签名
  2. 用户身份认证(验签)
  3. 资源访问权限授权

不限于具体技术,支持Shiro+JWT实现,也可以自己实现,框架提供自实现抽象类(最少依赖)
https://github.com/sparrowzoo/sparrow-protocol/blob/develop/src/main/java/com/sparrow/protocol/AuthorizingSupport.java

接口定义如下:

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.sparrow.protocol;

/**
 * 谁证授权接口
 * @author harry
 */
public interface AuthorizingSupport {
    /**
     * 签名(登录)
     *
     * @param login login token 
     * @param secret user's password
     * @return
     */
    String sign(LoginToken login, String secret);

    /**
     * 认证,需要验证当前token所在设备
     * 用户password 需要在token中解析
     * @param permission 
     * @return
     */
    LoginToken authenticate(String token, String deviceId);

    /**
     * 授权某资源
     *
     * @param user
     * @param url
     * @param code
     * @return
     * @throws BusinessException
     */
    boolean isAuthorized(LoginToken user,
                         String url, String code) throws BusinessException;
}

参考资料

  1. https://jwt.io/introduction

    JWT结构示例
  2. https://shiro.apache.org

相关文章

  • 授权接口设计

    说明 实现基本功能 登录token签名 用户身份认证(验签) 资源访问权限授权 不限于具体技术,支持Shiro+J...

  • 关于restful风格接口的设计

    1.理解并设计resetful风格的接口 2.OAuth 2.0授权方式

  • 授权接口文档

    |method|描述| | :-------: | :-------:| |web| 电脑支付| |wap| 手机...

  • EasyAR Cloud API接口的HTTP请求返回错误401

    可能原因:首先,Api接口返回HTTP 401错误,表示接口授权失败 分析方法:Api接口授权失败后同时会返回错误...

  • taro开发项目小程序端授权用户信息

    第一步:了解小程序授权接口调整 小程序开发官方接口调整说明:在用户未授权过的情况下调用此接口,将不再出现授权弹窗...

  • 【微信小程序】授权

    1.授权相关概念 (1)为什么要授权部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 sco...

  • 授权

    授权部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope ,用户选择对 scope ...

  • 初识小游戏- 开放能力

    1.用户授权 部分接口需要经过用户授权同意才能调用。这些接口按使用范围分成多个 scope ,用户选择对 scop...

  • Spring cloud oauth2 研究--授权方式分析

    密码模式授权相对来说比较简单,只使用到了申请token的接口也就是/oauth/token的接口,授权码模式相对复...

  • 快手小程序 【开发】 自学总结

    关于授权 scope.userInfo - 是否授权用户信息,对应接口 ks.getUserInfo scope....

网友评论

      本文标题:授权接口设计

      本文链接:https://www.haomeiwen.com/subject/wdermrtx.html