请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

guoqp
银牌会员   /  发表于:2022-2-14 09:54  /   查看:1796  /  回复:9
5金币
注意这里说的是客户端使用命令,不是服务器命令
通过服务器POST,GET没有问题,但那样通过GET获取到的是代码,而我要的是直接跳转到目标页面,达到免登录效果

我尝试客户端发送POST请求未成功

场景描述:
我希望实现的是在我的网页中点击一个按钮实现三方系统的POST登录验证,然后在新窗口中跳转到指定的三方系统页面,以实现免登录功能

最佳答案

查看完整内容

可以实现从活字格到第三方单点登录的前提是第三方应用支持单点登录。一般来说,如果第三方系统允许单点登录,比较常见的情景是这样的:登录系统返回的cookie中会有一个token,解析后可以获得这个token,此后客户端再在请求体中带着这个token向第三方登录系统发送请求。 什么是单点登录(SSO) - 知乎 (zhihu.com) 您可以查阅一下第三方系统相关的文档,看看是否有支持单点登录或类似的描述,如果没有其他的东西,只有一个简 ...

9 个回复

倒序浏览
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-2-14 09:54:22
来自 10#
guoqp 发表于 2022-2-15 15:45
了解了,原来是跨域问题在作怪,是不是这个需求不能解决,服务器请求回来就算取到COOKIE有啥用,我在跳转 ...


可以实现从活字格到第三方单点登录的前提是第三方应用支持单点登录。一般来说,如果第三方系统允许单点登录,比较常见的情景是这样的:登录系统返回的cookie中会有一个token,解析后可以获得这个token,此后客户端再在请求体中带着这个token向第三方登录系统发送请求。
什么是单点登录(SSO) - 知乎 (zhihu.com)
您可以查阅一下第三方系统相关的文档,看看是否有支持单点登录或类似的描述,如果没有其他的东西,只有一个简单的cookie,可能就是人家确实不支持单点登录,因为cookie的作用域只有当前页面,所以页面跳转后是不会生效的,那就没有办法单点登录了

回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-2-14 15:05:01
2#
您好,这个发送HTTP请求命令如果不用服务端命令的话,会不会产生跨域问题呢?不太清楚咱们这个第三方系统的登录验证具体是怎样一个流程,感觉还是要用服务端命令来发POST请求,但是可能要通过返回的数据来做后面的业务处理。
回复 使用道具 举报
guoqp
银牌会员   /  发表于:2022-2-14 15:18:21
3#
Howie.Sun 发表于 2022-2-14 15:05
您好,这个发送HTTP请求命令如果不用服务端命令的话,会不会产生跨域问题呢?不太清楚咱们这个第三方系统的 ...

这肯定是要跨域的,三方是别人的系统

服务器取到的是返回的网页源码,与我需求不太一致,因为我只希望实现免登录就行了,其它的功能直接用对方系统内置的
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-2-14 17:42:11
4#
guoqp 发表于 2022-2-14 15:18
这肯定是要跨域的,三方是别人的系统

服务器取到的是返回的网页源码,与我需求不太一致,因为我只希望 ...

大佬,如果在浏览器中直接访问这个第三方系统暴漏的URL地址是什么效果呢?因为浏览器访问URL本身也是一次GET请求,如果通过这种方式可以直接访问该第三方系统的话,那怎么可以试试把这个URL以外部URL的方式进行访问。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
guoqp
银牌会员   /  发表于:2022-2-14 18:12:26
5#
试过了,没用,自动跳转到登录页去了
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-2-15 09:44:03
6#
本帖最后由 Chelsey.Wang 于 2022-2-15 12:10 编辑

大佬,这个需要看一下第三方网站那边实现单点登录的具体逻辑是什么。一般来说是先发post请求给第三方进行登录,登录成功后第三方会返回一个许可,我们将它保存下来,下次再带着这个许可对第三方进行请求,就可以实现免登录访问。
所以需要需要先确认一下这个许可是以什么形式返回的,然后需要以什么形式再次带着许可发送请求,这些是第三方的规则,需要您先调研一下,然后和我们讲讲具体是怎样的,我们看看有没有更好的解决方法推荐给您哦~
回复 使用道具 举报
guoqp
银牌会员   /  发表于:2022-2-15 12:09:00
7#
Chelsey.Wang 发表于 2022-2-15 09:44
大佬,这个需要看一下第三方网站那边实现单点登录的具体逻辑是什么。一般来说是先发post请求给第三方进行登 ...

就是带cookies访问就行
登录后会本地存一个cookies
后边访问时带上cookies头提交就行
属最简单那种
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-2-15 14:58:58
8#
guoqp 发表于 2022-2-15 12:09
就是带cookies访问就行
登录后会本地存一个cookies
后边访问时带上cookies头提交就行

Cookie会根据从服务器端返回的响应报文内这个 Set-Cookie 的首部字段信息,通知浏览器保存 Cookie。然后当下次再往该服务器发送请求时,浏览器就会自动在请求报文请求头中加入 Cookie 值后发送出去。也就是说这里其实是不需要我们自己去取的,浏览器自动就帮我们做了从响应头中取、储存、在请求头中发送这些事情。

但是前端发送请求获取cookie时会有跨域的问题,因此您需要自己写一个WebApi通过服务端发送请求和解析响应头中的cookie,来实现从活字格到第三方的单点登录
第四十七章 服务端编程 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)
回复 使用道具 举报
guoqp
银牌会员   /  发表于:2022-2-15 15:45:54
9#
Chelsey.Wang 发表于 2022-2-15 14:58
Cookie会根据从服务器端返回的响应报文内这个 Set-Cookie 的首部字段信息,通知浏览器保存 Cookie。然后 ...

了解了,原来是跨域问题在作怪,是不是这个需求不能解决,服务器请求回来就算取到COOKIE有啥用,我在跳转链接时又不能附加COOKIES
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部