Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:java:sharepointonline:poc [2021/07/09 09:42] – [POC段階1] bananastudy:java:sharepointonline:poc [2021/07/09 09:55] (現在) – [POC段階4] banana
行 28: 行 28:
 </code> </code>
 ここで、%%%(UserAccount)%%に利用アカウント(XXX.onmicrosoft.com若しくは独自ドメインのアカウント)を代入します。\\ ここで、%%%(UserAccount)%%に利用アカウント(XXX.onmicrosoft.com若しくは独自ドメインのアカウント)を代入します。\\
-ADFSを利用している場合の回答例を下に示します。+ADFSを利用している場合のResponse例を下に示します。
 <code xml> <code xml>
 <RealmInfo Success="true"> <RealmInfo Success="true">
行 51: 行 51:
 </RealmInfo> </RealmInfo>
 </code> </code>
 +ここで、%%<IsFederatedNS>%%項目を見れば、ADFS環境かどうかが分かります。\\ 
 +上記の例ではtrueですので、ADFS環境になります。\\ 
 +また、%%<STSAuthURL>%%項目のURLがSAML Security tokenを取得するために必要なURLになります。
 ===== POC段階2 ===== ===== POC段階2 =====
-SAML Assertionを取得するために、前段階で取得した%%STSAuthURL%%宛にSOAP EnvelopeをPOST送信します。 +SAML Security tokenを取得するために、前段階で取得した%%STSAuthURL%%宛にSOAPメッセージをPOST送信します。 
-SOAP Envelopeを下に示します。+SOAPメッセージ例を下に示します。
 <code xml> <code xml>
 <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
行 88: 行 90:
 </code> </code>
 ここで、%(username), %(userpass)には、ユーザーアカウント及びパスワードを代入します。\\ ここで、%(username), %(userpass)には、ユーザーアカウント及びパスワードを代入します。\\
-また、上記xmlを送信する際、Headerに下記を追加します。+また、上記xmlを送信する際、Requestヘッダーに下記を追加します。
 <code> <code>
  Content-Type:application/soap+xml; charset=utf-8  Content-Type:application/soap+xml; charset=utf-8
 </code> </code>
-回答のxmlから%%<t:RequestedSecurityToken>%%に囲まれる部分がSAML Assertionです。\\+Responseのxmlから%%<t:RequestedSecurityToken>%%に囲まれる部分がSAML Security tokenです。\\
 こちらのraw typeテキスト((Pretty typeではエラーになります。))がBinary token取得のために必要です。\\ こちらのraw typeテキスト((Pretty typeではエラーになります。))がBinary token取得のために必要です。\\
-SAML Assertionの例は、内容が長いのと見てもチンプンカンプンなのでLOL割愛します。+SAML Security tokenの例は、内容が長いのと見てもチンプンカンプンなのでLOL割愛します。
  
 ===== POC段階3 ===== ===== POC段階3 =====
-Binary tokenを取得するために、前段階で取得したSAML AssertionをSOAPメッセージとして下記URLにPOST送信します。+Binary tokenを取得するために、前段階で取得したSAML Security tokenをSOAPメッセージとして下記URLにPOST送信します。
 ((ここからは外部にアクセスするため、会社等のProxy環境にある場合は、Proxy認証が必要になります。)) ((ここからは外部にアクセスするため、会社等のProxy環境にある場合は、Proxy認証が必要になります。))
 <code> <code>
行 131: 行 133:
  
 </code> </code>
-ここで、%(samltoken)には、SAML Assertionをraw typeで代入します。\\+ここで、%(samltoken)には、SAML Security tokenをraw typeで代入します。\\
 続いて、%(siteurl)には、SharepointサイトURLを代入します。 続いて、%(siteurl)には、SharepointサイトURLを代入します。
  
-また、上記xmlを送信する際、Headerに下記を追加します。+また、上記xmlを送信する際、Requestヘッダーに下記を追加します。
 <code> <code>
  Content-Type:application/soap+xml; charset=utf-8  Content-Type:application/soap+xml; charset=utf-8
行 150: 行 152:
 xxxxには、独自ドメイン(エイリアス)が入ります。\\ xxxxには、独自ドメイン(エイリアス)が入ります。\\
 正常の場合は、HTTP code=302(FOUND)が帰ってきます。\\ 正常の場合は、HTTP code=302(FOUND)が帰ってきます。\\
-そして、下記の2つのcookieがResponse Headerに含まれているのが確認できます。((内容が長いため、一部分をカットしました。))+そして、下記の2つのcookieがResponseヘッダーに含まれているのが確認できます。((内容が長いため、一部分をカットしました。))
 <code> <code>
 Set-Cookie: rtFa=I4phG2qFs+pUekvF4a03qJ0Pt79SUAzM3bLl5CMkZbgmODJDRjhFQjQtRTEzQi; path=/; SameSite=None; secure; HttpOnly Set-Cookie: rtFa=I4phG2qFs+pUekvF4a03qJ0Pt79SUAzM3bLl5CMkZbgmODJDRjhFQjQtRTEzQi; path=/; SameSite=None; secure; HttpOnly
行 157: 行 159:
 Set-Cookie: FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjEwLDBoLmZ; path=/; SameSite=None; secure; HttpOnly Set-Cookie: FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjEwLDBoLmZ; path=/; SameSite=None; secure; HttpOnly
 </code> </code>
-こちらの取得したcookieを次のリクエストを送信する際、Cookieヘッダーに追加します。+こちらの取得したcookieを次のリクエストを送信する際、Cookieヘッダーに追加します。\\ 
 +以降のRESTサービスへのリクエストは、認証cookieさえあれば利用可能です。
 ===== Reference ===== ===== Reference =====
   * [[http://www.sharepoint-insight.com/2016/03/21/step-by-step-sharepoint-online-authentiaction-process-via-http-protocol/|Step-by-Step SharePoint Online Authentiaction Process via HTTP Protocol]]   * [[http://www.sharepoint-insight.com/2016/03/21/step-by-step-sharepoint-online-authentiaction-process-via-http-protocol/|Step-by-Step SharePoint Online Authentiaction Process via HTTP Protocol]]

QR Code
QR Code study:java:sharepointonline:poc (generated for current page)