<< 目次を表示 >> ページ位置: プロジェクトの作成と管理 > Proクラウドサーバ > 有料ライセンスで利用できる機能 > OSLCの利用 > OSLC Architecture Management 2.0 > OSLC RESTful APIを利用するためのユーザー認証 |
リソースを取得・更新・作成・削除するには、OSLC GET/POSTのリクエストでユーザー認証トークンを渡す必要があります。Proクラウドサーバ経由で接続されたプロジェクトが、セキュリティ機能による認証またはOpenID認証を必要としている場合、ユーザー認証トークンを受け取るためにユーザーを認証する必要があります。一方、セキュリティ機能が無効になっているプロジェクトでは、情報を渡すことなくユーザー認証トークンを要求できます。ユーザー認証トークンを渡さない限り、OSLCのリクエストを受け取ってもProクラウドサーバは処理しません。
ユーザー認証トークンを取得する手順は次の通りです。
ユーザー認証トークンの要求
# |
操作方法 |
1 |
設定状況により、参照する項目が変わります。
|
2 |
ログインIDとリダイレクトURIをポストします。 URL: <protocol>://<server>/<model_name>/oslc/am/login/ POST Body: sso=openid;code=<AUTHORIZATION CODE>;redirecturi=<REDIRECT URI>; 手順6に進みます。 |
3 |
以下の内容をPOSTします。 URL: <protocol>://<server>/<model_name>/oslc/am/login/ POST Body: sso=ntlm; 手順6に進みます。 |
4 |
以下の内容をPOSTします。 URL: <protocol>://<server>/<model_name>/oslc/am/login/ POST Body: uid=<USER ID>;pwd=<PASSWORD>; 手順6に進みます。 |
5 |
以下の内容をPOSTします。 URL: <protocol>://<server>/<model_name>/oslc/am/login/ POST Body: uid=;pwd=; |
6 |
認証が成功した場合の返答例は以下の通りです。
<?xml version="1.0" encoding="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/">
<ss:login>
<!--boolean value that specifies whether the model allows Resource Creation/Update-->
<ss:readonlymodel>VALUE</ss:readonlymodel>
<!--boolean value that specifies whether you have valid Pro Cloud Server license-->
<ss:validlicense>VALUE</ss:validlicense>
<!--specifies the Full Name and User ID of the User in a Security Enabled Model-->
<ss:userfullname>
<foaf:Person>
<foaf:name>FULL NAME</foaf:name>
<foaf:nick>USER ID</foaf:nick>
</foaf:Person>
</ss:userfullname>
<!--specifies the User Authentication Token-->
<ss:useridentifier>USER AUTHENTICATION TOKEN</ss:useridentifier>
<!--specifies the OpenID Access Token in a Model that supports OpenID Authentication-->
<ss:accesstoken>OPENID ACCESS TOKEN</ss:accesstoken>
<!--specifies the OpenID Refresh Token in a Model that supports OpenID Authentication-->
<ss:refreshtoken>OPENID REFRESH TOKEN</ss:refreshtoken>
<!--boolean value that specifies whether you have permission to create/update Resources-->
<ss:elementpermission>VALUE</ss:elementpermission>
<!--boolean value that specifies whether you have permission to update Diagrams-->
<ss:diagrampermission>VALUE</ss:diagrampermission>
<!--boolean value that specifies whether you have permission to create/update Resource Tests-->
<ss:testpermission>VALUE</ss:testpermission>
<!--boolean value that specifies whether you have permission to create/update Resource Allocations-->
<ss:resourceallocationpermission>VALUE</ss:resourceallocationpermission>
<!--boolean value that specifies whether you have permission to create/update Resource Maintenance Items-->
<ss:maintenanceitempermission>VALUE</ss:maintenanceitempermission>
<!--boolean value that specifies whether you have permission to create/update Resource Project Management Items-->
<ss:projectmanagementitempermission>VALUE</ss:projectmanagementitempermission>
</ss:login>
</rdf:RDF> |
OSCLのリクエストにユーザー認証トークンを含める
ユーザー認証トークンを取得したら、すべてのリクエスト時にユーザー認証トークンを渡します。:
GETリクエストでユーザー認証トークンを渡す
GETリクエストの場合には、ユーザー認証トークンをクエリ文字列のパラメータ 'useridentifier'として渡します。:
例
# |
操作内容 |
1 |
以下のパッケージの情報を取得する場合のURLは以下の通りです。
http://localhost:480/firebird_model/oslc/am/resource/pk_{5147E138-1F14-4738-B721-5FCC0F8821A8}/?useridentifier={72825AF9-E116-48f1-9DF8-77815E66B1A7} |
2 |
以下の条件の要素の情報を取得する場合のURLは以下の通りです。
http://localhost:480/firebird_model/oslc/am/qc/?useridentifier={72825AF9-E116-48f1-9DF8-77815E66B1A7}&oslc.where=dcterms:title="Class1" |
OSLC POSTでユーザー認証トークンを渡す
OSLC POSTリクエストの場合には、RDF/XMLの一部でユーザー認証トークンを渡します。
例
# |
操作内容 |
1 |
セキュリティ機能が有効で、以下の場合とします。
ノート・複雑度・バージョンを指定して作成 <?xml version="1.0" encoding="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="http://xmlns.com/foaf/0.1/"
xmlns:ss="http://www.sparxsystems.com.au/oslc_am#">
<oslc_am:Resource>
<!--Required Properties-->
<dcterms:title>Class1</dcterms:title>
<dcterms:type>Class</dcterms:type>
<ss:parentresourceidentifier>pk_{259A54C2-6A89-46d7-AB7E-F192668010CA} </ss:parentresourceidentifier>
<dcterms:description>Created via OSLC</dcterms:description>
<ss:complexity>Easy</ss:complexity>
<ss:version>1.0</ss:version>
<ss:useridentifier>{72825AF9-E116-48f1-9DF8-77815E66B1A7} </ss:useridentifier>
</oslc_am:Resource>
</rdf:RDF> |
2 |
セキュリティ機能が無効で、以下の場合とします。
<?xml version="1.0" encoding="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="http://xmlns.com/foaf/0.1/"
xmlns:ss="http://www.sparxsystems.com.au/oslc_am#">
<oslc_am:Resource>
<!--Required Properties-->
<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:Resource>
</rdf:RDF> |
プロジェクトからのログアウト
通常は、ユーザー認証トークンが最後に利用されてから30分が経過すると、自動的にログアウトとなります。継続利用する場合、再度ユーザー認証トークンを取得する必要があります。あるいは、ユーザー認証トークンを渡して明示的にログアウトできます。:
(この経過時間はProクラウドサーバ 設定ツールで変更できます。)
成功した場合には、 200 OK HTTP レスポンスを受け取ります。ユーザー認証トークンは利用できなくなります。
失敗した場合には、404 Not Found HTTP レスポンスを受け取ります。
注意: |
|
参照: