JA Plus 开发者文档 JA Plus 开发者文档
首页
📖 白皮书 (opens new window)
  • 名词解释
  • 快速开始

    • 使用jap-simple
    • 使用jap-social
    • 使用jap-oauth2
    • 使用jap-oidc
    • 使用jap-sso
    • 使用jap-mfa
    • 使用jap-http-api
    • 使用jap-ldap
    • 错误代码
  • IDS

    • 简介
    • 快速开始
    • 自定义scope
    • 自定义登录页面
    • 自定义确认授权页面
    • 自定义缓存
    • 自定义Token加密密钥
    • 使用PKCE模式
    • 自动授权
    • 错误代码
  • starter

    • jap-spring-boot-starter
    • jap-simple-spring-boot-starter
    • jap-social-spring-boot-starter
    • jap-oauth2-spring-boot-starter
    • jap-oidc-spring-boot-starter
  • jap-ids的demo
  • 前后端分离架构中使用JAP
  • SpringBoot中使用JAP
  • 问题反馈
  • 项目问题
  • 异常问题
  • 功能问题
  • 数据看板🔥
  • 贡献指南
  • 行为准则
  • 用户权益
  • 贡献者们
  • 社区配套 (opens new window)
  • 教程
  • 投稿
  • 资讯
  • 关于
  • 友情链接
  • 捐赠列表
  • 其他开源
  • 更新记录
收藏
GitHub (opens new window)

FuJie Team

以开源的形式赋能开发者. Just auth into any app.
首页
📖 白皮书 (opens new window)
  • 名词解释
  • 快速开始

    • 使用jap-simple
    • 使用jap-social
    • 使用jap-oauth2
    • 使用jap-oidc
    • 使用jap-sso
    • 使用jap-mfa
    • 使用jap-http-api
    • 使用jap-ldap
    • 错误代码
  • IDS

    • 简介
    • 快速开始
    • 自定义scope
    • 自定义登录页面
    • 自定义确认授权页面
    • 自定义缓存
    • 自定义Token加密密钥
    • 使用PKCE模式
    • 自动授权
    • 错误代码
  • starter

    • jap-spring-boot-starter
    • jap-simple-spring-boot-starter
    • jap-social-spring-boot-starter
    • jap-oauth2-spring-boot-starter
    • jap-oidc-spring-boot-starter
  • jap-ids的demo
  • 前后端分离架构中使用JAP
  • SpringBoot中使用JAP
  • 问题反馈
  • 项目问题
  • 异常问题
  • 功能问题
  • 数据看板🔥
  • 贡献指南
  • 行为准则
  • 用户权益
  • 贡献者们
  • 社区配套 (opens new window)
  • 教程
  • 投稿
  • 资讯
  • 关于
  • 友情链接
  • 捐赠列表
  • 其他开源
  • 更新记录
收藏
GitHub (opens new window)
  • 使用指南
  • 名词解释
  • 快速开始

  • IDS

    • IDS OAuth 2.0 服务端
    • jap-ids 快速开始
    • 自定义scope
    • 自定义登录页面
    • 自定义确认授权页面
    • 自定义缓存
    • 自定义Token加密密钥
    • 使用PKCE模式
    • 自动授权
      • 问题
      • 拼装授权页面地址
      • 提供自动授权的 controller 接口
    • jap-ids 错误代码
  • starter

  • 指南
  • IDS
FuJie Team
2021-09-20

自动授权

提示

本文将讲解如何使用 jap-ids 的自动授权功能,跳过确认授权页面

# 问题

在很多时候,开发者可能不希望用户在通过 OAuth 登录时显示确认授权的页面

这种情况下,可以直接通过“自动授权”的方式,跳过确认授权页面。

# 拼装授权页面地址

在拼装授权页面时,在 URL 参数中,添加上 autoapprove=true 即可。比如:

http://localhost:8080/oauth/authorize?autoapprove=true&client_id=o2vzcf78lu1wfi5mi4q1k16yu5ph4cp2&response_type=code&scope=read write openid profile email phone address&redirect_uri=http://localhost:8080&state=1620965015351
1

# 提供自动授权的 controller 接口

在原有的基础上(快速开始),添加 /oauth/authorize/auto 接口。

提示

如果你开发的接口不是 /oauth/authorize/auto,请注意修改 IdsConfig 相关配置,配置方式参考:快速开始 - 第四步-开发相关-http-接口

@RequestMapping("/oauth")
@Controller
public class AuthorizationController {

    @GetMapping("/authorize")
    public RedirectView authorize(HttpServletRequest request) throws IOException {
        IdsResponse<String, String> idsResponse = new AuthorizationEndpoint().authorize(new JakartaRequestAdapter(request));
        return new RedirectView(idsResponse.getData());
    }

    @PostMapping("/authorize")
    public RedirectView doAuthorize(HttpServletRequest request) {
        IdsResponse<String, String> idsResponse = new AuthorizationEndpoint().agree(new JakartaRequestAdapter(request));
        return new RedirectView(idsResponse.getData());
    }

    /**
     * 自动授权,跳过确认授权页面
     *
     * @param request
     * @return
     */
    @GetMapping("/authorize/auto")
    public RedirectView doAuthorizeAutoApprove(HttpServletRequest request) {
        return this.doAuthorize(request);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

进行如上配置后,用户在登录时,就不会再显示确认授权页面了。

注意

自动授权功能,除了依赖 URL 中的参数 autoapprove=true 外,还需要 ClientDetail 支持当前应用允许自动登录。

其中 ClientDetail.autoApprove 属性为 true 时,才支持自动登录。

尤其注意该条 如果当前请求授权的客户端中 `ClientDetail.autoApprove = false`,那么即使授权请求的 URL 中添加了 `autoapprove=true`,授权服务依然会显示授权页面。这种设计能方便开发者在管理系统中对某个客户端动态开合该特性。
编辑 (opens new window)
#jap-ids#OAuth2
Last Updated: 2021/10/07, 18:03:43
使用PKCE模式
jap-ids 错误代码

← 使用PKCE模式 jap-ids 错误代码→

最近更新
01
经验总结:关于为 JAP 开发不同语言的 Demo 的总结
11-02
02
jap-spring-boot-starter 使用帮助
10-28
03
使用jap-ldap
10-25
更多文章>
Theme by Vdoing | Copyright © 2021-2022

友情链接:UniAdmin | 江如意的博客

Copyright © 2021-2040 FUJIE. All rights reserved. 北京符节科技有限公司版权所有 | 京ICP备2020044519号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式