OSLC サーバーの設定
Windchill では、以下の OSLC 仕様がサポートされています。
Configuration Management 1.0 (Windchill 部品の公開用)
Change Management 3.0 (Windchill 変更管理オブジェクトの公開用)
Windchill OSLC サービスは Windchill オブジェクトを対応する OSLC リソースにマッピングし、要求されたフォーマットで応答を返します。サポートされているフォーマットは以下のとおりです。
RDF/XML (デフォルト)
JSON-LD
Turtle
Windchill OSLC カタログ
Windchill OSLC カタログには、https://<Windchill サーバー URL>/Windchill/oslc/catalog でアクセスできます。
OAuth 認証の設定
デフォルトでは、Windchill OSLC サービスで基本認証が使用されます。OAuth 認証を有効にするには、追加のコンフィギュレーションステップが必要です。OAuth を使用するように Windchill を設定する手順については、「OAuth 委任認証の設定」を参照してください。
OSLC OAuth プロパティが設定され、Windchill OSLC カタログに OAuthConfiguration プロパティが含まれると、OSLC クライアントは OAuth 認証を使用する必要があることを検出できます。
Windchill OAuth を設定した後、以下の Windchill プロパティを設定します。
プロパティ名
説明
oslc.authorizationURI
OAuth 認証を取得するための URI
oslc.oauthAccessTokenURI
OAuth アクセストークンを取得するための URI
oslc.oauthRequestTokenURI
OAuth リクエストトークンを取得するための URI
* 
OAuth 認証を使用する際は、OSLC エンドポイントへのすべてのリクエストに、設定されている SpringSecurityFilterChain URL パターンがプレフィックスとして付加されていることを確認してください。たとえば、SpringSecurityFilterChain が URL パターン /oauth/* を使用して設定されている場合、すべての OSLC エンドポイントに URL パターン /oauth/oslc/* が必要です。
Windchill OSLC サービスを有効にするために必要なコンフィギュレーション
Windchill OSLC サービスを有効にするには、次の手順を実行します。
1. 次のエントリを %Windchill%/codebase/WEB_INF/web.xml に追加します
<servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping>
2. Apache コンフィギュレーションに OSLC パスを追加するために、次のエントリを HTTPServer/conf/conf.d/30-app-Windchill-AJP.conf に追加します
JkMount /Windchill/oslc/* ajpWorker
3. Apache コンフィギュレーションで OSLC カタログの匿名アクセスを設定するために、次のエントリを HTTPServer/conf/conf.d/30-app-Windchill-Auth.conf に追加します。
<LocationMatch ^/+Windchill/+oslc/catalog(;.*)?>
Require all granted
</LocationMatch>
コンテンツセキュリティポリシーのコンフィギュレーション
ほかのサイトのクライアントサイトで OSLC プレビューを表示できるようにするには、web.xml ファイルを更新して、次の OSLC コンテンツセキュリティサーブレットフィルタコンフィギュレーションを追加します。
<filter>
<filter-name>OSLCContentSecurityFilter</filter-name>
<description>Servlet request filter to set the Content Security Policy for previews</description>
<filter-class>com.ptc.oslc.windchill.filter.OSLCHttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>https://site1.domain.com,https://site2.domain.com </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>OSLCContentSecurityFilter</filter-name>
<url-pattern>/oslc/*</url-pattern>
</filter-mapping>
OSLC のオリジン間リソース共有 (CORS) のコンフィギュレーション
* 
より安全なコンフィギュレーションにするため、CORS フィルタはクロスドメイン OSLC コンフィギュレーションにのみ使用します。
* 
Windchill を、ほかの OSLC 製品と OSLC コンテンツを共有するように設定する場合、それらのアプリケーションを同じドメインにローカルにインストールします。
ほかのサイトのクライアントサイトが OSLC サービスを表示できるようにするには、web.xml ファイルを更新して、次のサーブレットフィルタコンフィギュレーションを追加します。
<filter>
<filter-name>ContentCorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>[ALLOWED_ORIGINS]</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,OPTIONS,HEAD</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ContentCorsFilter</filter-name>
<url-pattern>/oslc/preview/*</url-pattern>
<url-pattern>/oslc/config/*</url-pattern>
<url-pattern>/oslc/cm/*</url-pattern>
</filter-mapping>
クロスサイト展開の Windchill プレビューをフレームで表示するための Apache の設定
WindchillCodebeamer などの外部 OSLC サーバーと統合され、両方がクロスサイトで展開される場合、統合された OSLC サーバー内で Windchill プレビューのフレーム表示をサポートするように Apache を設定する必要があります。クロスサイトでの展開とは、windchill.foo.comcodebeamer.bar.com のように、異なるトップレベルのインターネットドメインにサーバーが展開されている状態を指します。
* 
このコンフィギュレーションは、新しいブラウザバージョンとの互換性を確保するために必要です。
Apache を設定するには、次の手順を実行します。
1. app-Windchill.properties ファイルで以下のプロパティを設定します。
プロパティ
説明
trustedAncestorSites
OSLC プレビューページのフレーム表示を有効にするために、クロスサイト OSLC サーバーの URL を指定します。
この値は、web.xml ファイル内の OSLCContentSecurityFilter にある allowedOrigins の値と一致する必要があります。
たとえば、クロスサイト Codebeamer サーバーの URL として https\://ppumsv-ipfc408d.almrd.example.com\:8573 を指定します。
authCookieNameRegexp
認証 Cookie の名前の正規表現です。これは、認証 Cookie の名前と同じにすることができます。
例: _shibsession_.*
認証 Cookie を見つけるには、Windchill にログインし、ブラウザで「開発者ツール」 > 「アプリケーション」 > 「Cookie」に移動します。
enableOslcPreviewRewrite
この値を true に設定すると、Apache ベースのページ遷移のフローが有効になります。
enableRefererChecking
この値を true に設定すると、追加のセキュリティ対策としてリファラーヘッダーのチェックが有効になります。これはオプションです。
originBaseUrl
enableRefererCheckingtrue に設定した場合は、Windchill サーバーのベース URL を指定します。
例: https\://pwrdcsv-wcqa576d.ptcnet.ptc.com
setReferrerPolicy
enableRefererCheckingtrue に設定した場合は、この値を true に設定して、リファラーポリシー応答ヘッダーを strict-origin に設定します。
2. Ant コマンド ant -f webAppConfig.xml regenAllWebApps を実行します。
または、Ant コマンド ant -f webAppConfig.xml regenWebAppConf -DappName=Windchill を実行することもできます。
3. Apache サーバーを再起動して変更を適用します。
4. 統合 OSLC サーバーで Windchill プレビューを表示できることを確認します。
これは役に立ちましたか?