如何从登录 Web 服务获取 sso 令牌
Posted
技术标签:
【中文标题】如何从登录 Web 服务获取 sso 令牌【英文标题】:how to get sso token from login web service 【发布时间】:2013-07-16 11:55:38 【问题描述】:我有一个问题,我需要从登录 Web 服务获取 SSO 令牌,但我似乎无法获取它。当我做 ajax 发布时,它返回登录网页的 html 代码。我试图搜索 *** 和谷歌的提示,但我什么也没得到。这是带有 web 服务的 java 函数文件,可以使用 url 调用,出于安全原因,我无法在此处发布。 有人可以给我一个提示或更好的例子吗?
package lv.rtu.itd.mobile.api.v1.service;
public interface SecurityService
/**
* Try to login and aquire SSO token.
*
* @param username - attribute identifying person. This might me UID, email, short UID, or other supported
* attribues.
* @param password - password of the user.
* @return SSO token identifying user's session or <code>null</code> in case of invalid credentials.
*/
String login(String username, String password);
/**
* Checks if there's a SSO session that can be identified by provided token.
*
* @param token - token of SSO session returned by @link #login(String, String);
* @return <code>true</code> if SSO session is valid, <code>false</code> otherwise.
*/
boolean isTokenValid(String token);
/**
* Tries to log out the user's SSO session with given token.
*
* @param token - token identifying user's SSO session.
*/
void logout(String token);
【问题讨论】:
【参考方案1】:您的问题包含的细节太少。首先,可以给出示例 AJAX 代码。
假设JSON-RPC 是选择的协议,以下应该可以工作:
POST https://your.domain.com/api/SecurityServiceURL
Content-Type: application/json
"jsonrpc": "2.0", "method": "login", "params": "username":"yourusername","password":"yourpassword", "id": 1
在 JQuery AJAX 中,应该看起来像(未测试):
$.ajax(
url: 'https://your.domain.com/api/SecurityServiceURL',
data: JSON.stringify ("jsonrpc": "2.0", "method": "login", "params": "username":"yourusername","password":"yourpassword", "id": 1),
type:"POST",
contentType:"application/json",
success: function (data)
alert("ok");
,
error: function (err)
alert("err");
);
【讨论】:
以上是关于如何从登录 Web 服务获取 sso 令牌的主要内容,如果未能解决你的问题,请参考以下文章
用户从 Android 中的 Gmail 登录后如何获取访问令牌?
如何从 blazor(服务器端)Web 应用程序获取访问令牌?