• 关于

    OAuth认证

    的搜索结果

问题

oauth认证跳过某个接口配置是需要重写oauth的拦截器吗?

李博 bluemind 2019-12-01 19:35:13 439 浏览量 回答数 1

问题

Python oauth2lib和POST json验证参数

kun坤 2019-12-25 13:46:29 4 浏览量 回答数 1

回答

1.数据库还是原来的数据库,只是oauth2对应用增加了几个表记录应用的信息权限等。2.url请求也是一般的 Servlet请求而已,不同只是加了个oauth2的access_token 参数作为认证。3.和oauth2结合也不复杂,弄清楚oauth2的原理流程再去实现就好。水平有限,只能回答到这儿了~######回复 @seau : 看你自己的需求吧######回复 @oscfox : 用oauth-server的话是否要有自己的资源api?只有用户注册信息行不行?######回复 @seau : 1.数据库设计与原有平台为主,数据库方面开发平台只需要在原有数据库增加一些表就好,具体怎么存储看具体情况了。2.url请求也是在原有平台的action上扩展就好,只是需要增加一个oauth2的accesstoken 认证而已。3.如果开发平台提供数据提交的接口,第三方产生的数据当然可以存入原有平台的数据库######水平有限,理解不到这. 数据是字符存入的么?设计一个容器应对url请求?第三方应用产生的数据能不能存入资源所有者数据库?######当然,也可以搭建一个独立的应用作为开发平台,设计原平台数据就用同一个数据库即可,只是这样要写多点代码而已

爱吃鱼的程序员 2020-06-01 10:27:14 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

问题

适用的开发环境 SDK使用方法:报错

kun坤 2020-06-14 09:47:41 0 浏览量 回答数 0

回答

Re跪求 请问appid 和 appsecret 怎么获取 自打你们四月六日关闭了以前的Oauth2认证接口,我们马上就发了申请邮件。 肯请您把appId/appSecret快些分配给我们,我们单位使用Oauth2认证的应用全都不能用了。

cbj2015 2019-12-02 02:13:24 0 浏览量 回答数 0

回答

应用(Application),在OAuth2.0 体系里称呼为Client,我们可以理解为 操作资源的工具。 按照应用形态有: Web服务端应用(有服务端的) Web浏览器端应用(纯前端的) 桌面端和移动端 JWT应用 应用形态对比 应用类型 描述 是否需要用户授权(支持 OAuth2.0 授权) 应用场景 Web服务端应用 web页面+后端服务 是 除了调用CCP API还有其他业务逻辑需要后端服务支持 Web浏览器端应用 web页面 是 只需调用CCP API即可满足需求 Native应用 桌面端和移动端 是 桌面客户端,移动端等客户端 JWT应用 服务端 否 当你的应用调用CCP时,不需要用户干预,如后端服务、后台进程、命令行或者其他自定义登录方式接入等,请求是代表应用,而非最终用户。 在 CCP 系统里,应用分为官方应用和自建应用。 官方应用:官方提供的应用,所有域在授权允许访问其资源,可以直接使用。 自建应用:用户可以根据需求,创建出适合不同场景的应用。 1 关于OAuth2.0 CCP API 使用 OAuth2.0 协议认证和授权,支持通用的OAuth2.0方案,例如Web服务应用,客户端应用等。 首先,请在CCP控制台配置域的OAuth登录配置。然后,创建对应的应用以得到凭证(如:AppId和AppSecret),您的客户端应用程序请求CCP 授权服务器以获取访问令牌,从响应中提取令牌,然后将该令牌发送到您要访问的 CCP API。如有必要,刷新访问令牌。 不同类型的应用OAuth2.0流程差异对比 应用类型 应用描述 请求授权时的responseType取值 是否需要app_secret 是否能刷新token Web 服务端应用 带有后端服务的web 应用。 code 必须,secret放在服务端的配置中 可以 Native 应用 桌面客户端,移动端应用。 code 不需要, secret放在客户端不安全 可以通过服务端刷新token Web 浏览器应用 纯js前端应用,单页面应用(SPA),widget等。 access_token 不需要, secret放在客户端不安全 无法刷新token 创建应用的时候,请根据具体的场景选择应用类型。 针对不同类型的应用,OAuth2接入协议有所不同, 详细请看: web 服务端应用的OAuth2.0接入流程 Native 应用的OAuth2.0接入流程 web 浏览器应用的OAuth2.0接入流程

1934890530796658 2020-03-30 23:26:22 0 浏览量 回答数 0

回答

一.背景 微服务架构下,我们的系统根据业务被拆分成了多个职责单一的微服务。 每个服务都有自己的一套API提供给别的服务调用,那么如何保证安全性呢? 不是说你想调用就可以调用,一定要有认证机制,是我们内部服务发出的请求,才可以调用我们的接口。 需要注意的是我们这边讲的是微服务之间调用的安全认证,不是统一的在API官网认证,需求不一样,API网关处的统一认证是和业务挂钩的,我们这边是为了防止接口被别人随便调用。 二.方案 OAUTH2 Spring Cloud可以使用OAUTH2来实现多个微服务的统一认证授权 通过向OAUTH2服务进行集中认证和授权,获得access_token 而这个token是受其他微服务信任的,在后续的访问中都把access_token带过去,从而实现了微服务的统一认证授权。 JWT JWT是一种安全标准。基本思路就是用户提供用户名和密码给认证服务器,服务器验证用户提交信息信息的合法性;如果验证成功,会产生并返回一个Token,用户可以使用这个token访问服务器上受保护的资源。 感觉这2种好像没多大区别呀,其实是有区别的:OAuth2是一种授权框架 ,JWT是一种认证协议 无论使用哪种方式切记用HTTPS来保证数据的安全性。 三.用哪种 我个人建议用JWT,轻量级,简单,适合分布式无状态的应用 用OAUTH2的话就麻烦点,各种角色,认证类型,客户端等等一大堆概念 四.怎么用 首先呢创建一个通用的认证服务,提供认证操作,认证成功后返回一个token @RestController@RequestMapping(value="/oauth")public class AuthController { @Autowired private AuthService authService; @PostMapping("/token") public ResponseData auth(@RequestBody AuthQuery query) throws Exception { if (StringUtils.isBlank(query.getAccessKey()) || StringUtils.isBlank(query.getSecretKey())) { return ResponseData.failByParam("accessKey and secretKey not null"); } User user = authService.auth(query); if (user == null) { return ResponseData.failByParam("认证失败"); } JWTUtils jwt = JWTUtils.getInstance(); return ResponseData.ok(jwt.getToken(user.getId().toString())); } @GetMapping("/token") public ResponseData oauth(AuthQuery query) throws Exception { if (StringUtils.isBlank(query.getAccessKey()) || StringUtils.isBlank(query.getSecretKey())) { return ResponseData.failByParam("accessKey and secretKey not null"); } User user = authService.auth(query); if (user == null) { return ResponseData.failByParam("认证失败"); } JWTUtils jwt = JWTUtils.getInstance(); return ResponseData.ok(jwt.getToken(user.getId().toString())); } } JWT可以加入依赖,然后写个工具类即可,建议写在全局的包中,所有的服务都要用,具体代码请参考:JWTUtils GITHUB地址:https://github.com/jwtk/jjwt JWT提供了很多加密的算法,我这边用的是RSA,目前是用的一套公钥以及私钥,这种做法目前来说是不好的,因为万一秘钥泄露了,那就谈不上安全了,所以后面会采用配置中心的方式来动态管理秘钥。 类里主要逻辑是生成token,然后提供一个检查token是否合法的方法,以及是否过期等等判断。 <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version> 统一认证的服务有了,我们只需要将认证服务注册到注册中心即可给别的服务消费。 那么我们如何使用刚刚的认证服务来做认证呢,最简单的办法就是用Filter来处理 比如说我现在有一个服务fangjia-fsh-house-service,之前是随便谁都能调用我提供的接口,现在我想加入验证,只有验证通过的才可以让它调用我的接口 那就在fangjia-fsh-house-service中加一个过滤器来判断是否有权限调用接口,我们从请求头中获取认证的token信息,不需要依赖Cookie 这个过滤器我也建议写在全局的项目中,因为也是所有服务都要用,代码请参考:HttpBasicAuthorizeFilter 主要逻辑就是获取token然后通过JWTUtils来验证是否合法,不合法给提示,合法则放过 这边需要注意的地方是解密的秘钥必须跟加密时是相同的,不然解密必然失败,就是bug了 //验证TOKENif (!StringUtils.hasText(auth)) { PrintWriter print = httpResponse.getWriter(); print.write(JsonUtils.toJson(ResponseData.fail("非法请求【缺少Authorization信息】", ResponseCode.NO_AUTH_CODE.getCode()))); return; }JWTUtils.JWTResult jwt = jwtUtils.checkToken(auth);if (!jwt.isStatus()) { PrintWriter print = httpResponse.getWriter(); print.write(JsonUtils.toJson(ResponseData.fail(jwt.getMsg(), jwt.getCode()))); return; }chain.doFilter(httpRequest, response); 到这步为止,只要调用方在认证通过之后,通过认证服务返回的token,然后塞到请求头Authorization中,就可以调用其他需要认证的服务了。 这样看起来貌似很完美,但是用起来不方便呀,每次调用前都需要去认证,然后塞请求头,如何做到通用呢,不需要具体的开发人员去关心,对使用者透明,下篇文章,我们继续探讨如何实现方便的调用。 具体代码可以参考我的github: https://github.com/yinjihuan/spring-cloud

小六码奴 2019-12-02 02:03:21 0 浏览量 回答数 0

问题

请教如何获取服务器端开发免登的code

cbj2015 2019-12-01 21:22:55 4895 浏览量 回答数 3

回答

这些都是VPN(虚拟专用网络)的传输协议。 L2TP/ipspec PSK :指支持PSK加密算法的L2TP加密链接 L2TP/IPSPEC RSA:指支持RSA加密算法的L2TP加密链接 IPSEC XAUTH PSK:指支持PSK加密算法的带扩展验证的链接。 IPSPEC XAUTH RSA:指支持RSA算法的带扩展验证的链接。 IPSPEC HYBRID RSA:这个不知道,以前没接触过。 另外,解释一下XAUTH(扩展验证)这个东西 其实XAUTH就是oauth的简化版,只是支持桌面和移动设备,web认证还是需要oauth的。

玄学酱 2019-12-02 01:26:45 0 浏览量 回答数 0

回答

回 楼主ccsghxh的帖子 昨天还支持Oauth2认证的直接获取code呢,今天一早就不行了。 以前基于oauth2做的程序全都废了。 ------------------------- 回 4楼cbj2015的帖子 丁丁文档中心里介绍的嵌入二维码要引入js、构造二维码、获取临时token等等前后六步,再加上和缓存里的企业丁丁用户信息比较才能得到真正的企业丁丁用户真实身份信息。您知道用户心中是个什么感受吗?特别是非专业的程序员。

cbj2015 2019-12-02 02:09:34 0 浏览量 回答数 0

问题

如何在Spring Boot OAuth2中允许来自特定主机的特定端点

垚tutu 2019-12-19 16:39:10 1 浏览量 回答数 1

问题

通过输入方式在Android上进行微博OAuth登录:报错

kun坤 2020-06-04 14:01:56 22 浏览量 回答数 1

问题

通过输入方式在Android上进行微博OAuth登录 - 安卓报错

montos 2020-06-04 13:19:02 3 浏览量 回答数 1

问题

OAuth2.0 授权码模式相关问题报错 

kun坤 2020-06-03 11:32:06 0 浏览量 回答数 1

回答

不知道你用的是新浪哪种编程语言的SDK。######回复 @Weststreet : 冒昧了,虽然此贴已久远了,最近要接入一个第三方,它没有提供sdk,请问怎么用java实现Oauth1.0认证?######啊 问题终于解决啦 是我没接受完请求返回的结果 导致我一直以为我的方法不对 今个终于发现啦 谢谢你######回复 @Weststreet : 自己写调用很麻烦的,你的get或post请求要带上请求头head信息参数,具体你可以去http://open.weibo.com/wiki/SDK 下载一个java的sdk看看它的请求怎么写的。######没用新浪提供的Sdk自己用java实现的Oauth认证###### Weibo weibo = WeiboUtil.getWeiboInstance(); Status status = weibo.updateStatus(comment_content);

爱吃鱼的程序员 2020-06-01 11:06:44 0 浏览量 回答数 0

问题

移动APP,rest api,每个请求的认证方案,有没有?来几个参考一下! 400 请求报错 

kun坤 2020-05-29 11:34:40 3 浏览量 回答数 1

回答

Oauth2协议本身不是为了做第三方登录的,所以如果你出现这样的问题,资源拥有端的服务也是自己的工程,你可以在资源拥有端服务写一个logout的endpoint,将当前使用accesstoken作废,然后再跳转回访问端做个session会话logout。问题解决。  资源端服务没了accesstoken,你自然就不会自动登相同用户了######回复 @季末晚枫 : 如果你用的是spring-security做的,可以百度一下spring oauth2认证中心的代码。如果是自已实现的Oauth2,就需要自己实现了。实现逻辑是认证服务提供一个表单验证帐密,验证通过就生成一个授权码返回######回复 @Kit_lee : 大佬,有没有可以参考的例子,刚上手,啥都不懂######回复 @季末晚枫 : 将鉴权页面单独做成一个服务吧,不用login页######回复 @Kit_lee : 鉴权页就是默认的login######回复 @季末晚枫 : 我不知道你的鉴权页面是咋整的,但按你现在的情况,是否鉴权页面有保存用户登入的会话信息?让鉴权页面独立出来不要保存会话信息就好了。######退出有问题吧######说明你已经登陆了,登出也得调用接口,######同样的问题,解决了没?######需要登出的时候调用logout接口,logout是框架自带的接口

kun坤 2020-06-03 11:32:13 0 浏览量 回答数 0

回答

认证其实和API的形式关系不大,采取哪种认证方式,要看你业务面向的对象和对安全性的要求。如果对安全性要求比较低,或者是平台初期,Basic Auth就可以。至少早期是可以的,把工作重心放在对业务需求的处理上,等量级上来了,再换更高级的。如果你的平台已经相对成熟,或者对安全性要求比较高,或者业务需求压力不大,可以试试业界比较流行的OAuth方式。

落地花开啦 2019-12-02 02:42:31 0 浏览量 回答数 0

回答

一般用的是oauth2方式, 后台返回token时, 可自行设置token过期时间, 通常来说, 也会附带一个refresh_token字段. 当你上面获取的token过期时, 可refresh_token重新获取token而不用再次验证用户名及密码. 可参考下面: http://tools.ietf.org/html/rfc6749 ######我一直记得OAuth是一种用户可以不告知服务A其在服务B上的用户名和密码却可以在服务A上安全的使用服务B的一种认证方式? 用OAuth2是基于哪方面考虑的?是因为有refresh_token还是OAuth已经不单单局限于安全使用第三方资源这种形式了呢?###### http://my.oschina.net/kaster/blog/130861 参考本篇,和其他相关文章 客户端一般不会缓存密码一类的东西,我们是缓存 openid和token ######回复 @徐牛 : openid和TokenKey时效很长,未来客户端无须登录,直接调用响应的接口,服务端会验签,无效会返回登录超时。######文章很好,但是没有讨论到如何避免需要经常登录的问题? 是tokenKey会长期有效吗?###### 客户端本身网络稳定性差,有些Session框架在网络切换后,Session失效。 我们没有使用传统框架的Session机制,主要是和后台分布式的部署有关系。 接口方面,我们就是使用restful请求接口,接入层的分发服务器并不验证Session,只负责分发,真正的后台接口会自己来验证Session的有效性,对于分布在不同设备和进程的应用,使用Redis来缓存Session信息。 ######自己做是最终方案,而自己做授权系统这块要设计到加密算法,session,角色管理等等,我们这边开发力量不够。所以想看看有没有合适的框架。 不知道Srping secure等有没有这方面的优化。######求解答###### stateless ###### 类似的问题我也问过 作为第三方登陆,基本上是遵循oauth2 作为自己的用户登陆,我方案是结合两者优点,用token加用户名,不用session,哦我做的是ios开发,安卓不知道,还有人告诉我用心跳包的方式保持类似session的功能,因为移动端不知道什么时候就离开了,每隔多少时间发个包,表明存在,我觉得太麻烦了呵呵。 ######我感觉Session是一种比较简化的token不管是你自己用token还是session都绕不过我提的问题。 心跳是在长连接中才需要考虑的吧。

kun坤 2020-06-03 14:07:38 0 浏览量 回答数 0

问题

新浪微博的JAVA oauth2的包导入ECLIPSE之后运行不了?报错

爱吃鱼的程序员 2020-06-20 19:22:31 0 浏览量 回答数 1

回答

对开发的接口进行测试的话,可以使用Postman。 Postman 可以很方便的模拟前端传输的数据格式和操作数据的方法,也可以很方便的模拟各种认证方式(token、OAuth2等),同时可以很方便查看后端返回前端的数据。

饭娱咖啡 2019-12-02 02:06:46 0 浏览量 回答数 0

问题

oapi.dingtalk.com为什么无法访问了

cbj2015 2019-12-01 21:11:52 3242 浏览量 回答数 2

问题

免登陆的时候用code换取用户信息的时候怎么会提示管理员权限不足?

雨中枫叶 2019-12-01 21:07:12 4013 浏览量 回答数 3

问题

进行Oauth2认证开发时,aligenie返回的token总是一个固定值

阳光憨豆 2020-11-06 09:48:58 1 浏览量 回答数 0

问题

如何通过随机生成的api-key和api_secret对接口进行安全认证和鉴权? 400 请求报错 

kun坤 2020-05-29 11:50:58 2 浏览量 回答数 1

回答

这个只能呵呵了! 钉钉要的是入口, 我理解这个jsapi 就是让你不通过钉钉拿不到认证第一步需要的code 。 后面直接调OAuth的被取消了, 呵呵。 所以楼主别想绕过去了。 基本上一个三步调用, 1. 拿到code, 2, 拿到acces_token, 3 拿到userinfo. 理解了流程也没多难吧!

rodgun 2019-12-02 02:09:35 0 浏览量 回答数 0

回答

配置appkey和secretkey了吗######回复<aclass="referer"target="_blank">@汶水农夫:应该是可以的啊######配置了,未提交审核的应用appkey行吗?######配置了,刚刚创建应用获得的key###### <atarget="_blank"rel="nofollow">(PHP)oauth认证之网页应用(SinaAuth)

优选2 2020-06-09 16:25:42 0 浏览量 回答数 0

回答

CCP为开发者提供服务面、管理面的REST API,基于API提供了主流语言的SDK和自己引用的Widget,同时提供了一些开箱即用的基础UI应用。 服务面提供身份认证、云盘、相册三组REST API, 身份认证:提供账号管理、OAuth服务;支持钉钉、支付宝、淘宝等第三方账号的接入;访问地址为{domainid}.auth.alicloudccp.com; 云盘:提供用户、Drive、目录、文件管理;访问地址为{domainid}.api.alicloudccp.com; 相册:提供图片、视频管理;访问地址同云盘; 管理面提供网域、应用以及空间的挂接管理 数据面由服务面分配访问链接,无直接调用的REST API,但可对访问域名进行自定义 管理面提供网域、应用以及空间的挂接管理

问问小秘 2020-02-28 21:49:00 0 浏览量 回答数 0

回答

个问题和ajax其实没多大关系,如果是2个后端交互我不太理解ajax在其中起什么作用, 或者说哪怕其中包含前端请求, 归根结底始终是资源授权的问题.资源的授权方式有好几种, 比较常见且能适用多种场景的是OAuth2.0框架, 能够满足很多场景的需求, 包括服务端对服务端, 服务端对客户端等等; 但是也可以简单点实现, 比如加上一套(登陆)认证功能, 或则在后端做相应的权限检验, 你要知道ajax也是一个普通的http请求, 同样会附带cookie(session), 所以普通的前后端交互的鉴权和ajax的鉴权是没有区别的.鉴权只能放在后端来做, 前端可以配合后端, 但是无法独立实现, 因为前端一切都是不安全的.

a123456678 2019-12-02 03:15:49 0 浏览量 回答数 0

回答

回 1楼钉钉-赤司的帖子 你看看有时候会是这样的情况 但是 有一些人就可以 请问一下是不是认证没有通过呀 ------------------------- 回 3楼钉钉-赤司的帖子 不是的,这个是所有的权限 就是在同一个部门 都有这样的情况..刚刚试了一下 同样是在4g 网络情况下 他的手机是 苹果 我的是安卓 然后我们一起测试 我的就可以 他的就会显示这个无权访问。 ------------------------- Re显示:对不起,你无权查看该页面 怎么解决 2.钉钉微应用OAuth2授权打开一个应用时提示对不起您无权限查看该页面 可能的原因: (1)如果其他应用正常,或者企业其他人打开应用没问题,可能是缓存问题引起,请清除下缓存 (2)参数redirect_uri的值没有做url编码 (3)redirect_uri的域名和微应用的域名不一致 你好 我这个情况是属于第一种 但是清楚了缓存还是不行,还是就是 redirect_uri 编码是要要设置UrlEncode 吗 ------------------------- 回 3楼钉钉-赤司的帖子 2.钉钉微应用OAuth2授权打开一个应用时提示对不起您无权限查看该页面 可能的原因: (1)如果其他应用正常,或者企业其他人打开应用没问题,可能是缓存问题引起,请清除下缓存 (2)参数redirect_uri的值没有做url编码 (3)redirect_uri的域名和微应用的域名不一致 你好 我这个情况是属于第一种 但是清楚了缓存还是不行,还是就是 redirect_uri 编码是要要设置UrlEncode 吗

oa小菜鸟 2019-12-02 01:36:34 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板