当前位置: 首页 > news >正文

建设工程交易中心网站收费标准全国最大网站建站公司

建设工程交易中心网站收费标准,全国最大网站建站公司,国家建设部官方网站,网站建设总结体会认证方式​ 用户登录衡石系统时#xff0c;系统需要对输入的用户名和密码进行验证#xff0c;保证系统的安全。衡石提供 CAS、SAML2、OAUTH2等多种单点登录认证方式。在 SSO 单点登录中#xff0c;衡石是服务提供者 SP#xff08;Service Provider#xff09;为用户提供所…认证方式​ 用户登录衡石系统时系统需要对输入的用户名和密码进行验证保证系统的安全。衡石提供 CAS、SAML2、OAUTH2等多种单点登录认证方式。在 SSO 单点登录中衡石是服务提供者 SPService Provider为用户提供所需服务的一方通过用户身份提供者 IDPIdentity Provider来实现用户身份验证。 使用认证服务前请确保 IDP 与 SP 之间能够相互通信。 配置 Base URL​ Base URL 在登录认证有重要的作用配置认证前请先设置 Base URL。 认证方式配置​ 在系统设置-认证方式中设置用户登录系统的认证方式。目前支持 HENGSHI、LDAP、CAS、SAML2、OAUTH2、钉钉、企业微信、CTR、云之家、JWT 请求参数、飞书、勤策等多种认证方式。 用户通过认证方式登录到系统的同时还会将用户的一些信息通过配置项同步到系统中 比如同步用户属性、组织架构到衡石系统中。 本文将这些配置项统称为通用配置项会在通用配置中统一进行说明。 HENGSHI​ HENGSHI 内置的用户认证系统通过平台内部的用户信息进行身份验证。即使设置为其他认证方式HENGSHI 系统管理员仍可以通过访问/login 页面来登录。 LDAP​ 用户使用 LDAP 认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择 LDAP 认证方式。使用 LDAP 认证时需要在系统设置-认证方式中勾选 LDAP 配置并进行 LDAP 相关配置。 LDAP 基础配置包括 协议类型包括 ldap 和 ldaps。主机地址。端口。用户名。密码。搜索库。LDAP 查询。 LDAP 通用配置包括用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业 ID 映射、企业名称映射、平台方 ID、启用 SSO exp 会话有效期同步、会话有效期映射。 通用配置字段的说明和使用请参考通用配置章节。 CAS​ 用户使用 CAS 认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择 CAS 认证方式。使用 CAS 认证时需要在系统设置-认证方式中勾选 CAS 配置并进行 CAS 相关配置。 CAS 基础配置包括 协议类型 。CAS 服务器地址。Reload User。 CAS 通用配置包括显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业 ID 映射、企业名称映射、平台方 ID、启用 SSO exp 会话有效期同步、会话有效期映射。 通用配置字段的说明和使用请参考通用配置章节。 SAML2​ 用户使用 SAML2认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择 SAML2认证方式。使用 SAML2认证时需要在系统设置-认证方式中勾选 SAML2配置并进行 SAML2相关配置。 SAML2 认证相关配置有 idpMetadataUrl。私钥。证书。entityID。Reload User。 SAML2 用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业 ID 映射、企业名称映射、平台方 ID、启用 SSO exp 会话有效期同步、会话有效期映射。通用配置字段的说明和使用请参考通用配置章节。 OAuth2​ 用户使用 Oauth2认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择 Oauth2认证方式。使用 Oauth2认证时需要在系统设置-认证方式中勾选 Oauth2配置并进行 Oauth2相关配置。 OAUTH2 认证相关配置有 Client Id是指 Oauth Server 注册的客户端 Id也有些系统会叫 App Id不同的 Oauth Server 叫法会有不同。Client Secret是指 Oauth Server 注册的客户端 Secret也有些系统会叫 App Secret。Authorize 接口当系统发现用户没有登录会跳转到该地址输入用户名密码在 Oauth Server 登录。登录成功后 Oauth Server 会重定向到 HENGSHI 传递的 redirect_uri并加上 code 参数。Token 接口HENGSHI 系统通过 code 参数向该接口请求 TokenUser-info 接口HENGSHI 系统通过 Token 向该接口请求用户基本信息。Logout 接口HENGSHI 系统退出登录时重定向到该接口在 Oauth Server 退出登录。有些 Oauth Server 并没有实现该接口。Logout 接口拼接 Redirect URI默认为 trueHENGSHI 系统退出登录时是否将登出前访问 HENGSHI 的地址拼接到 Logout 接口。登出后跳转地址参数名默认为 redirect_uriHENGSHI 系统向 Oauth Server 发出退出登录 Oauth Server 请求时传递 Oauth Server 退出登录后重定向到该地址。Scope由 Oauth Server 定义配置在 HENGSHI SENSE 系统中HENGSHI 系统在请求 code 参数时传递。新版本的 Oauth Server keycloack(19.0.2及以上)需要配置 scope值为openid。原始 url 传递方式是指记录用户原始的请求地址的方式比如用户输入的 Url 为 http://{host}:{port}/apps/1/dashboard/1 在用户登录成功以后会跳转到该地址。一般是记录到 session 中在多个 iframe 嵌入页面同时打开的场景需要配置在 url 中传递。校验原始 url 原始 url 是指用户登录前的原始请求地址如选择 true则会检查原始 url 是否以 base url 开头。Reload User是否每次刷新页面都需要重新从 Oauth Server 获取当前登录用户。具体使用场景见认证方式集成说明。 Logout 相关说明及示例(下述网址仅为示例) 如果未配置Logout 接口则仅登出 HENGSHI。配置Logout 接口http://logout.com并且 Logout 接口拼接 Redirect URI 为 true则会根据登出后跳转地址参数名拼接登出后的跳转 URL拼接后为 http://logout.com?redirect_urihttp://hengshi.comactiveAuthoauth2tenantIdxxxxredirect_uri 会进行编码此处为了展示使用明文 参数名是否是 redirect_uri 以登出后跳转地址参数名配置为准。新版本的 keycloak 登出参数 redirect_uri 有变化 redirect_uri 变更说明 。如果配置Logout 接口 并且 Logout 接口拼接 Redirect URI 为 falsekeycloak 需要用户点击确认登出。Logout 接口拼接 Redirect URI 为 true登出后跳转地址参数名 为 post_logout_redirect_uri 登出行为不需用户确认。keycloak 的参数及行为有可能版本区别详情请查阅 keycloak 文档。 OAuth2 用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业 ID 映射、企业名称映射、平台方 ID、启用 SSO exp 会话有效期同步、会话有效期映射。通用配置字段的说明和使用请参考通用配置章节。 钉钉​ 钉钉认证方式支持扫码登录和微应用免登。 钉钉认证相关配置包括 配置项是否必填说明AppKey是钉钉微应用的基本信息可参考钉钉配置微应用章节获取AppSecret是钉钉微应用的基本信息可参考钉钉配置微应用章节获取CorpId否如果管理员需要在钉钉应用管理后台免登则需要配置该信息。CorpIdSSOsecret 请参考 钉钉配置微应用章节获取。SSOsecret否如果管理员需要在钉钉应用管理后台免登则需要配置该信息。CorpIdSSOsecret 请参考 钉钉配置微应用章节获取。登录方式是配置默认的登录方式即在 url 中没有指定时起作用的方式。authCode 是微应用免登扫码是通过扫描二维码登录同步频率否对组织架构同步进行配置单位为分钟0为不同步。如果需要组织架构同步则必须要配置 AppKey 和 AppSecret 并且应用要开通权限管理中的通讯录权限 钉钉用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射。 通用配置字段的说明和使用请参考通用配置章节。 钉钉配置微应用​ 下面描述如何在钉钉开发者平台上创建及配置微应用。 获取钉钉的CorpId 和 SSOSecret 在钉钉的 开发体验账号管理中获取 钉钉 CorpId 和 SSOSecret 开发者后台统一登录 - 钉钉统一身份认证 在钉钉开发者后台 - 应用开发 - H5微应用中点击创建应用。 在基础信息中可以查看获取到 AppKeyAppSecret。 这两个信息需要同步到 HENGSHI SENSE 系统钉钉配置页面的同名配置字段中。 添加应用能力 网页 H5应用配置 配置项格式说明应用首页地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}dtLoginTypeauthCodePC 端首页地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}dtLoginTypeauthCode管理后台地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypecodecorpId{corpId}dtLoginTypecode请注意 {corpId} 需要替换成 正确的 corpId 值如果租户配置钉钉需要增加 tenantCode 或者 tenantId 参数(建议使用 tenantId )。格式如下: http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}tenantId{tenantId}tenantId 是新建租户后自动生成的 安全设置 配置项说明服务器出口 IP填写服务器出口 ip可以通过https://www.ip138.com/查询或者联系网络管理员获得重定向 URL回调域名衡石服务的 baseURL端内免登地址按需填写 权限管理 目前已知需要的权限如下: 权限信息权限点 code通讯录部门信息读权限qyapi_get_department_list成员信息读权限qyapi_get_member通讯录个人信息读取权限Contact.User.Read企业员工手机号信息fieldMobile邮箱等个人信息fieldEmail请注意 钉钉的权限管理可能会发生变化具体参考钉钉的官方说明 版本管理与发布 可根据需要设置应用发布的使用范围只有在范围中的人员才可以看到该应用。 请注意 钉钉微应用相关的文档图片可能会有变动以钉钉官方为准。 企业微信​ 企业微信认证方式支持扫码登录和微应用免登。 企业微信认证相关配置包括 企业 IDAgentIdSecret企业微信的基本信息可参考企业微信配置自建应用章节获取。登录方式:是配置默认的登录方式即在 url 中没有指定时起作用的方式。 oauth 是应用免登扫码是通过扫描二维码登录。 企业微信认证用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射。 通用配置字段的说明和使用请参考通用配置章节。 企业微信配置自建应用​ 进入企业微信应用管理-应用-自建点击创建应用。配置应用 logo应用名称应用介绍可见范围。配置应用。 将 AgentIdSecret 配置到 HENGSHI SENSE 系统企业微信配置页面的同名字段中。配置应用主页如http://local.hengshi.org:8080?activeAuthwechat-workwcwLoginTypeoauth2tenantCode{tenantCode}。 其中 activeAuthwcwLoginType 为固定值可以实现在企业微信中点击 HENGSHI 应用免登陆。如果是租户使用需要增加 tenantCode或者 tenantId 参数。配置网页授权及 JS-SDK 中的可信域名。如果需要网页扫码登录功能需要配置企业微信授权登录中的授权回调域。 企业微信认证方式相关文档可以参考 开启网页授权登录企业微信术语介绍查看企业 ID 查看 AgengId,Secret 进入具体的应用 请注意 企业微信文档可能会有变动以企业微信官方文档为准。 CTR​ CTR 是为客户定制的一种认证方式该认证方式与客户自研的 SSO 系统对接。 云之家​ 如果使用金蝶云之家应用并且在云之家做报销审批和报表分析的工作。可以通过配置云之家认证在云之家上访问对应的报表内容。 报表的入口就是在云之家创建一个应用入口。根据云之家提供的集成 API做一个 SSO 认证在云之家应用中直接配置报表的 URL 地址在云之家应用中免登录打开报表就可以了。 配置方法 在云之家 (www.yunzhijia.com) 申请成为系统管理员或由他人邀请并设为系统管理员。 成为系统管理员后通过管理中心-应用中心-轻应用管理进入轻应用管理页面。 选择新建应用在打开的页面填入信息红框处 URL 为衡石系统的 url末尾加上 activeAuthyunzhijia。如果是租户使用需要 填写 tenantCode 或者 tenantId 参数示例http://192.168.3.226:8080/?activeAuthyunzhijiatenantCodetenant1#/publish。 保存后会生成 APPId 和 APPSecret。 在衡石系统中设置-认证方式-YUN ZHI JIA 中配置 APP ID APPSecret。 JWT 请求参数​ JWT 请求参数是指用户访问系统时按照 jwt 规范将用户基本信息进行签名/加密通过 url 传递给服务器兼顾安全性和便利性。 JWT 请求参数认证相关配置包括 JWT Token 名称。验签算法客户端签名时与 HENGSHI 配置保持一致。验签密钥验签算法为 HS256时客户端与 HENGSHI 配置保持一致。验签算法为 RS256时客户端使用私钥签名HENGSHI 配置中填写公钥。验签密钥使用 base64解码。解密方法客户端加密时与 HENGSHI 配置保持一致。解密算法客户端加密时与 HENGSHI 配置保持一致。解密密钥客户端使用公钥加密HENGSHI 配置中填写私钥。访问系统的 URL 为 http://{host}:{port}/?activeAuthjwt-paramjwtParam{签名/加密后的 jwt 字符串}groovy script:登录过程配置用户登录后的默认角色默认情况下用户登录后的角色为数据查看。 JWT 请求参数相关参考资料。 JWT 请求参数用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业 ID 映射、企业名称映射、平台方 ID、启用 SSO exp 会话有效期同步、会话有效期映射、groovy script 等。 通用配置字段的说明和使用请参考通用配置章节。 JWT 基本格式说明​ JWT 标准中的部分声明 声明含义是否必须处理逻辑及限制issjwt 签发者否无subjwt subject是非空唯一如果没有 loginName/email 的映射配置则 HENGSHI 将该值做为用户的唯一标示。如果有 loginName/email 的映射配置则忽略该值。建议用户使用 loginName/email 的映射配置sub 的值与 loginName/email 的值相同expjwt 的过期时间否过期则该 jwt 无效 自定义声明 声明含义处理逻辑及限制有映射配置自定义的声明在 HENGSHI 系统中配置了映射关系HENGSHI 会根据映射关系保存到用户相应的字段上如下例中的 loginNamealice在 HENGSHI 登录名映射配置为 loginName则会将 alice 做为 HENGSHI 中用户的 loginName。其他的参考 通用配置无映射配置自定义的声明没有在 HENGSHI 系统中配置映射关系HENGSHI 会将该类信息保存到用户属性中 如下例中的 abc123在 HENGSHI 没有映射配置则会保存为用户的属性信息中 JWT 是由三段信息构成的将这三段信息文本用.链接一起就构成了 JWT 字符串。以下为示例 eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ 1 第一部分是 header明文是{typ:JWT,alg:HS256}经过 base64URL 编码之后是eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9第二部分是 payload明文是{sub:alice-subject,abc:123,roles:[system admin,data admin,data analyst,data viewer,api admin],loginName:alice}其中 loginNamerolesabc 都是自定义的示例信息可以根据需要增加修改经过 base64URL 编码之后是eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0第三部分是 signature由第一部分的 header.第二部分的 payload 得到需要签名的信息是eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0经过相应签名算法签名以后在本例中就是 HS256再通过 base64URL 编码得到签名是PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ 以上为 jwt 生成过程的基本说明具体细节以及实现库可以通过JWT 官网进一步了解。 java 示例依赖库 dependencygroupIdcom.nimbusds/groupIdartifactIdnimbus-jose-jwt/artifactIdversion5.4/version/dependency java 示例代码 java import com.nimbusds.jose.EncryptionMethod; import com.nimbusds.jose.JOSEException; import com.nimbusds.jose.JWEAlgorithm; import com.nimbusds.jose.JWEHeader; import com.nimbusds.jose.JWEObject; import com.nimbusds.jose.JWSAlgorithm; import com.nimbusds.jose.JWSHeader; import com.nimbusds.jose.JWSSigner; import com.nimbusds.jose.Payload; import com.nimbusds.jose.crypto.MACSigner; import com.nimbusds.jose.crypto.RSAEncrypter; import com.nimbusds.jose.crypto.RSASSASigner; import com.nimbusds.jwt.JWTClaimsSet; import com.nimbusds.jwt.SignedJWT;import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.ArrayList; import java.util.Base64; import java.util.List;public class Test {public static void main(String[] args) throws Exception {//HS256 hmac 签名hmacSign();System.out.println(------------------------------------------);//RS256 rsa 签名rsaSign();System.out.println(------------------------------------------);//A128CBC-HS256 RSA-OAEP-256 加密signAndEncrypt();}//RS256public static void rsaSign() throws NoSuchAlgorithmException, JOSEException {KeyPairGenerator kpg KeyPairGenerator.getInstance(RSA);KeyPair kp kpg.genKeyPair();RSAPrivateKey privateKey (RSAPrivateKey) kp.getPrivate();RSAPublicKey publicKey (RSAPublicKey) kp.getPublic();JWTClaimsSet claimsSet getJwtClaimsSet();JWSSigner signer new RSASSASigner(privateKey);SignedJWT signedJWT new SignedJWT(new JWSHeader.Builder(JWSAlgorithm.RS256).type(JOSEObjectType.JWT).build(), claimsSet);signedJWT.sign(signer);String token signedJWT.serialize();String url http://{host}:{port}?activeAuthjwt-paramjwtParam token;System.out.println(url);//验签密钥 在 hengshi 系统中配置System.out.println(验签密钥 Base64.getEncoder().encodeToString(publicKey.getEncoded()));}//HS256public static void hmacSign() throws Exception {JWTClaimsSet claimsSet getJwtClaimsSet();String key 4b117a14-c652-410a-83b2-9839c16e7ae1;//hs256 密钥 必须大于32位SignedJWT signedJWT new SignedJWT(new JWSHeader.Builder(JWSAlgorithm.HS256).type(JOSEObjectType.JWT).build(), claimsSet);JWSSigner signer new MACSigner(key);signedJWT.sign(signer);String token signedJWT.serialize();String url http://{host}:{port}?activeAuthjwt-paramjwtParam token;System.out.println(url);//验签密钥 配置到 hengshi 系统中System.out.println(验签密钥 key);/*备注签名内容不同token 也不相同下面的 token 是根据上面代码中的内容生成的如果有修改则 token 也会发生变化生成的 tokeneyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ示例请求 urlhttp://{host}:{port}?activeAuthjwt-paramjwtParameyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ*/}private static JWTClaimsSet getJwtClaimsSet() {ListString roles new ArrayList();roles.add(system admin);//系统管理员roles.add(data admin);//数据管理员roles.add(data analyst);//数据分析员roles.add(data viewer);//数据查看者roles.add(api admin);//API 管理员String loginName alice;//登录名唯一JWTClaimsSet claimsSet new JWTClaimsSet.Builder().subject(loginName -subject) //jwt 主题jwt 要求不能为空如果没有配置登录名映射会默认取该值作为登录名。要求唯一可以与登录名相同//.issuer(https://c2id.com) //颁发者身份标识表示 Token 颁发者的唯一标识一般是一个 http(s) url,hengshi 中没有使用.claim(roles, roles)/*登录名唯一key 可以设置为任意的名称需要在 hengshi 【jwt 参数认证】方式中配置登录名映射如此处应配置登录名映射为 loginName* hengshi 中还可以配置邮箱手机角色用户组等映射详情请参考文档*/.claim(loginName, loginName).claim(abc, 123) //可以根据需要增加 claim都会作为用户属性保存//.expirationTime(new Date(new Date().getTime() 60 * 1000)) //有效期根据需要设置.build();return claimsSet;}public static void signAndEncrypt() throws Exception {KeyPairGenerator kpg KeyPairGenerator.getInstance(RSA);KeyPair signkp kpg.genKeyPair();RSAPrivateKey signPrivateKey (RSAPrivateKey) signkp.getPrivate();RSAPublicKey signPublicKey (RSAPublicKey) signkp.getPublic();//验签密钥 配置到 hengshi 系统中System.out.println(验签密钥 Base64.getEncoder().encodeToString(signPublicKey.getEncoded()));JWTClaimsSet jwtClaimsSet getJwtClaimsSet();SignedJWT signedJWT new SignedJWT(new JWSHeader.Builder(JWSAlgorithm.RS256).type(JOSEObjectType.JWT).build(),jwtClaimsSet);signedJWT.sign(new RSASSASigner(signPrivateKey));KeyPair encryptKP kpg.genKeyPair();RSAPrivateKey encryptPrivateKey (RSAPrivateKey) encryptKP.getPrivate();//解密密钥 配置到 hengshi 系统中System.out.println(解密密钥 Base64.getEncoder().encodeToString(encryptPrivateKey.getEncoded()));RSAPublicKey encryptPublicKey (RSAPublicKey) encryptKP.getPublic();JWEObject jweObject new JWEObject(new JWEHeader.Builder(JWEAlgorithm.RSA_OAEP_256, EncryptionMethod.A128CBC_HS256).type(JOSEObjectType.JWT).contentType(JWT).build(),new Payload(signedJWT));jweObject.encrypt(new RSAEncrypter(encryptPublicKey));String token jweObject.serialize();String url http://{host}:{port}?activeAuthjwt-paramjwtParam token;System.out.println(url);} } 飞书​ 飞书认证方式支持扫码登录、微应用免登和管理后台免登录。 飞书认证相关配置包括 App IDApp Secret 飞书的基本信息可参考飞书配置自建应用获取。 飞书配置自建应用​ 进入开发者后台 - 企业自建应用 - 点击企业自建应用。 填写应用名称应用描述。 在企业自建应用列表中点击进入刚刚创建的应用应用信息完善编辑综合信息。 上传应用图标。 可根据需要填写管理后台主页http://{host}:{port}?activeAuthlarklarkLoginTypelarkAdminBackend该地址是从飞书管理后台免登录进入系统时使用的。具体地址可以根据需要修改activeAuthlarkLoginType 两个参数是固定的。 如过没有该需求可以不填写。 配置应用功能网页填写桌面端主页和移动端主页具体地址可以根据需要修改activeAuthlarkLoginType 两个参数是固定的。 桌面端主页http://{host}:{port}?activeAuthlarklarkLoginTypedesktop 移动端主页http://{host}:{port}?activeAuthlarklarkLoginTypeapp 安全设置配置重定向 URL。 http://{host}:{port}/lark/callback 权限管理开通权限:以应用身份读取通讯录(contact:contact:readonly_as_app)获取用户邮箱信息(contact:user.email:readonly)获取用户 user ID(contact:user.employee_id:readonly)获取用户手机号(contact:user.phone:readonly)等权限(详情参考表格) 其中获取用户邮箱信息获取用户 user ID获取用户手机号为可选权限如不开通则飞书不返回以上信息。 ​ 飞书需要权限一览表: 权限名称code说明获取用户可用的应用admin:app.user_usable:readonly获取用户组织架构信息contact:user.department:readonly获取用户邮箱信息contact:user.email:readonly获取用户 user IDcontact:user.employee_id:readonly获取用户组信息contact:group:readonly通过手机号或邮箱获取用户 IDcontact:user.id:readonly获取用户手机号contact:user.phone:readonly获取用户性别contact:user.gender:readonly查询用户职级contact:user.job_level:readonly查询用户的企业邮箱mail:user_mailbox:readonly查询个人邮箱信息corehr:person.email:read获取通讯录基本信息contact:contact.base:readonly以应用身份读取通讯录contact:contact:readonly_as_app获取与发送单聊、群组消息im:message使用飞书推送消息需要以应用的身份发消息im:message:send_as_bot使用飞书推送消息需要给一个或多个部门的成员批量发消息im:message:send_multi_depts使用飞书推送消息需要给多个用户批量发消息im:message:send_multi_users使用飞书推送消息需要获取与上传图片或文件资源im:resource使用飞书推送消息需要 可在飞书权限配置中搜索下面 code 快速开通需要的权限: basic contact:contact:readonly_as_app,contact:contact.base:readonly,admin:app.user_usable:readonly,contact:user.department:readonly,contact:user.email:readonly,contact:user.employee_id:readonly,contact:group:readonly,contact:user.id:readonly,contact:user.phone:readonly,contact:user.gender:readonly,contact:user.job_level:readonly,mail:user_mailbox:readonly,corehr:person.email:read,im:message,im:message:send_as_bot,im:message:send_multi_depts,im:message:send_multi_users,im:resource 1 ​ 版本管理与发布创建版本根据需要及飞书要求填写应用版本号更新说明选择可用范围。申请线上发布。 应用审核。 8.1 人工审核进入飞书管理后台 https://bc0nlvsmah.feishu.cn/admin/appCenter/audit 选择需要审核的应用进行审核。 8.2 自动审核进入飞书管理后台应用管理 https://bc0nlvsmah.feishu.cn/admin/appCenter/manage 选择需要设置自动审核的应用点击配置打开免审功能。 在系统中配置飞书自建应用的 App ID 和 App Secret. 飞书认证方式相关文档可以参考 应用免登查看 App IDApp Secret 进入飞书开放平台选择具体应用查看 App ID 和 App Secret。飞书管理后台 https://bc0nlvsmah.feishu.cn/admin/appCenter/manage 免登进入具体的应用 如果在凭证与基础信息的综合信息中填写了管理后台主页地址则可以在飞书管理后台免登进入应用。 请注意 飞书文档可能会有变动以飞书官方文档为准。 通用配置​ 部分认证方式如OAuth2jwt-param 等支持登录名、邮箱、手机等的映射配置在有这些配置项的认证方式下这些配置具有同样的含义。 启用用户属性同步配置是否同步用户属性。 用户名映射客户系统中的某字段将做为系统中用户的登录名要求全系统唯一目的是每次登录可以自动关联到该用户。 显示名映射客户系统中的某字段将做为系统中用户的显示名。 邮箱映射客户系统中的某字段将做为系统中用户的邮箱要求全系统唯一目的是每次登录可以自动关联到该用户。 手机号映射客户系统中的某字段将做为系统中用户的手机号要求全系统唯一。 角色映射客户系统中的某字段将做为系统中该用户所拥有的角色可以传递角色 ID 或者角色标识如不传递则默认是数据查看者。角色标识和角色名称对应如下 system admin系统管理员。data admin数据管理员。data analyst数据分析员。data viewer数据查看员。api adminapi 管理员。 组映射客户系统中的某字段将做为系统中该用户所属的组可以传递用户组 ID 或者用户组名。 组织架构映射:可已将客户系统中的组织架构映射到衡石系统中。 企业 ID 映射:租户方式登录时该字段可用于映射系统中的企业 ID。 企业名称映射:租户方式登录时该字段可用于映射系统中的企业名称。 平台方 ID:该字段存放平台方 ID。 启用 SSO exp 会话有效期同步:是否同步会话中的有效期。 会话有效期映射:会话有效期字段默认为 exp。 以 JSON 示例如果客户系统中传递的 json 如下 json {uniqueName:zhangsan, //唯一标识nickname:张 san,name:张三,given_name:张三,family_name:张,roles:[data admin, //角色标识data analyst],groups:[group1, //用户组名称group2],email:zhangsanhengshi.com } 在 HENGSHI 中的登录名映射应配置为 uniqueName 在 HENGSHI 中的用户名映射应配置为 name 在 HENGSHI 中的邮箱映射应配置为 email 在 HENGSHI 中的角色映射应配置为 roles 在 HENGSHI 中的用户组映射应配置为 groups 认证方式集成说明​ HENGSHI SENSE 系统支持多重认证方式在不同的场景下可以选择不同的认证方式。无论选择那种认证方式都可以通过 HENGSHI 用户名密码登录登录地址为http://{host}:{port}/login 。HENGSHI 认证方式的选择支持配置页面选择和 url 传参两种方式在配置页面选择意味着是默认的认证方式url 中没有 指定的时候就会采用该认证方式进行认证如果在 url 中指定了具体的认证方式则优先使用 url 中的认证方式。比如 认证方式配置选择的是 HENGSHI但是在 url 中指定了 activeAuthoauth2则会使用 OAuth2 进行认证。 示例 http://{host}:{port}/?activeAuthoauth2#/ 1 租户 url 传参指定认证方式需要传递 tenantCode{tenantCode}或者 tenantId{tenantId} 示例 http://{host}:{port}/?activeAuthoauth2tenantCode{tenantCode}#/ 1 浏览器中直接使用 HENGSHI 系统场景​ 用户在浏览器中使用 HENGSHI 系统并且只有一种认证方式的场景下只需配置相应的认证方式并选择该认证方式即可。 iframe 嵌入 HENGSHI 页面的场景​ 用户可能会直接在浏览器使用 HENGSHI SENSE 系统进行应用创建然后使用 iframe 将 HENGSHI 看图页面嵌入到客户的系统中通过 SSO 实现免登 在该场景下以 OAuth2 为例说明 用户通过浏览器使用 HENGSHI SENSE 系统做图和 iframe 嵌入的看图都是通过用户的 OAuth Server 实现免登那么只需要配置 OAuth 认证方式 reloadUser 设置为 falseiframe 的嵌入地址为 http://{host}:{port}/?reloadUsertrue#/reloadUsertrue 的作用是用户在 在客户主站登出以后切换用户后进入 HENGSHI 页面时HENGSHI 会重新从 OAuth Server 获取当前登录的用户。在浏览器中使用 HENGSHI SENSE 系统做图 并不会有主站登出的情况所以并不需要每次都去 OAuth Server 获取当前登录的用户。 用户通过浏览器使用 HENGSHI SENSE 系统做图使用 HENGSHI SENSE 的用户名密码登录iframe 使用 OAuth Server 实现免登。 2.1 认证方式选择 HENGSHI 认证用户通过浏览器使用 HENGSHI SENSE 系统做图时使用该方式登录 2.2 需要配置 OAuth2 认证方式reloadUser 设置为 falseiframe 的嵌入地址为 http://{host}:{port}/?activeAuthoauth2reloadUsertrue#/用户看图时实现免登。 移动端微应用嵌入 HENGSHI 页面的场景​ 移动端主要支持了 钉钉企业微信云之家。 移动端微应用嵌入 HENGSHI 页面的使用方式和 iframe 嵌入 HENGSHI 页面的场景大体一致。 区别只是会在移动端微应用管理页面配置多个 HENGSHI 页面地址。以企业微信为例 选择 HENGSHI 认证用户使用 HENGSHI 的用户名密码在网页登录做图。在企业微信自建应用管理页面配置 HENGSHI 的嵌入地址http://{host}:{port}/?activeAuthwechat-workwcwLoginTypeoauth2#/ 在移动端或桌面端即可免登访问 HENGSHI。 Pager
http://www.w-s-a.com/news/220929/

相关文章:

  • 温州做网站多少钱网站服务器机房
  • 网站公司设计 网站首页什么网站专门做图片
  • 书店网站怎么做网站点击快速排名
  • 太阳镜商城网站建设公司做网站
  • 如何制作个人作品网站宣传片拍摄合同
  • 关于微网站策划ppt怎么做做插画的网站
  • 做设计网上揽活哪个网站最好中企动力算大厂吗
  • 电子商务网站开发常用工具牡丹江吧
  • 四川成都网站制作公司wordpress 获取某个分类的文章
  • wordpress 编辑器推动门户网站建设不断优化升级
  • 做游戏网站的前景温江区建设局网站
  • 济南做微网站推广做网站seo优化总结
  • 巢湖网站建设电话长沙大型互联网公司
  • wordpress站群主机海南人
  • 云南网站建设维护商业网站建设教程
  • 云南省滇中引水工程建设管理局网站jsp个人网站设计
  • 网站建设 域名业务 邮箱互联网装饰网站
  • 建设厅技工在哪个网站上查询有了网站模板 还要怎样做
  • 城市联盟网站怎么做百度云网站建设视频教程
  • 织梦cms 官方网站网页视频如何下载到电脑
  • 查询建设公司业绩网站国外外链平台
  • 搭建直播网站需要怎么做做石材网站步骤
  • 移动网站如何做权重wordpress 统计字数 插件
  • 编写网站的软件百度指数教程
  • 网站改版建议策划书做设计什么兼职网站
  • 北京做兼职网站文创产品设计流程
  • 南阳做玉器网站wordpress 图片被缩小
  • 自己做网站卖衣服cms做网站容易不
  • 安徽安搜做的网站怎么样手机网站商城建设答辩问题
  • 分析不同网站的优缺点房产网站定制