前页 | 后页 |
用于访问 OSLC RESTful API 的用户凭据
要检索、更新、创建或删除资源/资源特征,您需要使用 OSLC GET/POST 请求传入用户身份验证令牌。如果通过专业云服务器连接的模型已通过模型凭据或OpenID身份验证启用用户安全,则您必须对用户进行身份验证才能接收用户身份验证令牌。而对于没有用户安全的模型,您可以直接请求用户Authentication Token。除非您传入用户Authentication Token,否则专业云服务器不会处理OSLC请求。
获取用户身份验证令牌:
- 在启用了OpenID身份验证的模型中,发布授权代码并将 URI 重定向到特定 URL;授权码可以通过在授权用户端点(在服务提供者资源中指定)授权用户获得;重定向 URI 是OpenID服务器发送授权码的 URI(这在OpenID服务器配置中指定)
- 在启用了模型凭据安全性的模型中,将用户的Enterprise Architect模型安全凭据(用户ID 和密码)发布到特定 URL;这些凭据与您将在启用安全的模型中的“登录到 EA存储库”对话框中键入的凭据相同
- 在没有模型安全的模型中,调用特定的 URL
- 验证成功后,返回的 XML 将在 XML元素的 ss:用户中包含用户身份验证令牌(以及其他信息)
请求用户身份验证令牌
节 |
行动 |
---|---|
1 |
如果模型有:
|
2 |
通过 POST 授权代码和重定向 URI 来验证用户 ID: URL:<protocol>://<server>/<model_name>/oslc/am/login/ POST体:sso=openid;code=<AUTHORIZATION CODE>;redirecturi=<REDIRECT URI>; 转到第 6节。 |
3 |
通过 POST 到此 URL 获取用户身份验证令牌: URL:<protocol>://<server>/<model_name>/oslc/am/login/ POST体:sso=ntlm; 转到第 6节。 |
4 |
通过 POST用户的Enterprise Architect模型来验证用户 ID: URL:<protocol>://<server>/<model_name>/oslc/am/login/ POST体:uid=<USER ID>;pwd=<PASSWORD>; 转到第 6节。 |
5 |
通过 POST 到此 URL 获取用户身份验证令牌: URL:<protocol>://<server>/<model_name>/oslc/am/login/ POST体:uid=;pwd=; |
6 |
如果验证成功,响应通常是: <?xml 版本=" 1 .0" 编码="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ss="http://www.sparxsystems.com.au/oslc_am#" xmlns:foaf="http://xmlns.com/foaf/0.1 1 "> <ss:登录> <!--布尔值,指定模型是否允许资源创建/更新--> <ss:readonlymodel>值</ss:readonlymodel> <!--布尔值,指定您是否拥有有效的专业云服务器许可证--> <ss:validlicense>值</ss:validlicense> <!--指定启用安全模型中用户的完整名称和用户ID--> <ss:用户全名> <foaf:人> <foaf:name>全名</foaf:name> <foaf:nick>用户 ID</foaf:nick> </foaf:人> </ss:用户全名> <!--指定用户Authentication Token--> <ss:useridentifier>用户身份验证令牌</ss:useridentifier> <!--指定支持OpenID OpenID的模型访问> <ss:accesstoken>开放式访问令牌</ss:accesstoken> <!--指定支持OpenID Authentication的模型中的OpenID Refresh Token--> <ss:refreshtoken>OPENID 刷新令牌</ss:refreshtoken> <!--布尔值,指定您是否有权创建/更新资源--> <ss:elementpermission>值</ss:elementpermission> <!--布尔值,指定您是否有权更新图表--> <ss:diagrampermission>值</ss:diagrampermission> <!--布尔值,指定您是否有权创建/更新资源测试--> <ss:testpermission>值</ss:testpermission> <!--布尔值,指定您是否有权创建/更新资源分配--> <ss:resourceallocationpermission>值</ss:resourceallocationpermission> <!--布尔值,指定您是否有权创建/更新资源维护项目--> <ss:maintenanceitepermission>值</ss:maintenanceitepermission> <!--布尔值,指定您是否有权创建/更新资源项目管理项--> <ss:projectmanagementitepermission>值</ss:projectmanagementitepermission> </ss:登录> </rdf:RDF> |
使用 OSLC 请求传递用户身份验证令牌
一旦您收到用户身份验证令牌,您将在每个 OSLC 请求中传递它;即传入用户Authentication Token:
- 使用 GET 请求作为查询string参数“useridentifier”的值检索资源或资源特征XML 时
- 当使用 POST RDF/XML 作为 XML元素的 ss:useridentifier 的值创建/更新资源或资源特征时
使用 GET 请求传递用户身份验证令牌
对于 GET 请求,将用户身份验证令牌作为查询string参数 '用户' 的值传入:
- <protocol>://<server>/<model_name>/oslc/am/OSLC REQUEST/ ?useridentifier=<用户身份验证令牌>
例子
不。 |
示例输入 |
---|---|
1 |
检索Enterprise Architect包资源的属性:
|
2 |
检索所有资源:
|
使用 OSLC POST 请求传入用户身份验证令牌
对于 OSLC POST 请求,您需要将用户身份验证令牌作为 POST 请求随附的 RDF/XML 的一部分传入。
例子
不。 |
输入 |
---|---|
1 |
在 Security Enabled模型中:
<?xml 版本=" 1 .0" 编码="UTF-8"?> <rdf:RDF xmlns:oslc_am="http://open-services.net/ns/am#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns : dcterms="http://purl.org/dc/terms/" xmlns:foaf 1 "http://xmlns.com/foaf/0.1/" xmlns:ss="http://www.sparxsystems.com.au/oslc_am#"> <oslc_am:资源> <!--必需的属性--> <dcterms:title>Class1</dcterms:title> <dcterms:type>类</dcterms:type> <ss:parentresourceidentifier>pk_{259A54C2-6A89-46d7-AB7E-F192668010CA}</ss:parentresourceidentifier> <dcterms:description>通过 OSLC 创建</dcterms:description> <ss:complexity>简单</ss:complexity> <ss:version> 1 .0</ss:version> <ss:useridentifier>{72825AF9-E116-48f1-9DF8-77815E66B1A7}</ss:useridentifier> </oslc_am:资源> </rdf:RDF> |
2 |
在某个模型中:
<rdf:RDF xmlns:oslc_am="http://open-services.net/ns/am#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:foaf 1 "http://xmlns.com/foaf/0.1/" xmlns:ss="http://www.sparxsystems.com.au/oslc_am#"> <oslc_am:资源> <!--必需的属性--> <dcterms:identifier>el_{567854C2-6A89-46d7-AB7E-F192668010CA}</dcterms:identifier> <dcterms:title>Actor1_New</dcterms:identifier> <ss:useridentifier>{72825AF9-E116-48f1-9DF8-77815E66B1A7}</ss:useridentifier> </oslc_am:资源> </rdf:RDF> |
从模型注销
通常,30 分钟不活动log您退出模型;您必须通过 POST 到凭据验证 URL 再次登录。您还可以通过在此 GET 请求中将用户身份验证令牌作为查询string参数 '用户' 的值传递来注销模型:
- <protocol>://<server>/<model_name>/oslc/am/logout/?useridentifier=<用户Authentication Token>
如果不成功(即传入的用户Authentication Token 无效),您将收到404 Not Found HTTP 响应。
注记
- 此功能可通过专业云服务器获得,具有有效许可证
- OSLC请求不会被专业云服务器处理,除非用户Authentication Token随请求一起传入
- 30 分钟不活动log您退出模型;您必须通过 POST 到凭据验证 URL 再次登录