zheng 发表于 2023-3-13 13:53:35

关于鉴权配置

我使用js根据文档

function crypDES (value, key) {    var keyHex = CryptoJS.enc.Utf8.parse(key);    var xtoken = CryptoJS.DES.encrypt(value, keyHex, {      mode: CryptoJS.mode.ECB,      padding: CryptoJS.pad.Pkcs7    });    var str = xtoken.ciphertext.toString(CryptoJS.enc.Base64);    str = str.replace(/=/g, "");    str = str.replace(/+/g, "-");    str = str.replace(///g, "_");    return str;},str = str.replace(/+/g, "-");    str = str.replace(///g, "_");这里是报错的,还有这个login_uid和sso_key是什么?

论坛管理员 发表于 2023-3-14 10:00:58

改成这样试试
function crypDES (value, key) {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var xtoken = CryptoJS.DES.encrypt(value, keyHex, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
    var str = xtoken.ciphertext.toString(CryptoJS.enc.Base64);
    str = str.replace(/=/g, "");
    str = str.replace(/\+/g, "-");
    str = str.replace(/\//g, "_");
    return str;
},
login_uid 为系统用户唯一编码
sso_key 为配置的SSO秘钥

zheng 发表于 2023-3-14 10:32:55

本帖最后由 zheng 于 2023-3-14 15:14 编辑

论坛管理员 发表于 2023-3-14 10:00
改成这样试试
function crypDES (value, key) {
    var keyHex = CryptoJS.enc.Utf8.parse(key);

好的,谢谢,还有个redirect,这个参数是什么呢,文档上描述的不准确(redirect表示认证成功后要跳转到的地址;)这个地址可以是后端API接口吗,还是什么地址

另一个问题是,我已经通过http://servername/x_desktop/sso.html?client={client}&xtoken={token}这个接口从响应中拿到了OA中的token,那么我的外部系统在一分钟之内可以随意访问O2OA的后端API,还是需要我通过返回的token放入请求头中去访问API呢?我不太明白这个鉴权的实际作用

双鱼座 发表于 2023-3-14 17:38:40

zheng 发表于 2023-3-14 10:32
好的,谢谢,还有个redirect,这个参数是什么呢,文档上描述的不准确(redirect表示认证成功后要跳转到的 ...

这是做单点认证用的。
redirect就是单点成功后您需要跳转到哪个页面展现给用户看。 比如您单点后是需要展现办公中心也用户看,那么redirect里就放办公中心的这个页面地址。

访问后端api是需要管理员才能查看的
页: [1]
查看完整版本: 关于鉴权配置