認証にOKTAを使用する顧客のSharePointサーバーにプログラムで接続する必要があります。私はこれを見たpostは有望そうだが、OKTAから有効なセッションクッキーを返すように見えない。バックエンドサービスからOKTA経由でSharePointに認証
私は正常に/ api/v1/authnエンドポイントを呼び出してsessionTokenを取り戻すことができますが、/ api/v1/sessionsを呼び出すと、そのセッショントークンを使ってadditionalFields = cookieTokenを呼び出すと、以下JSONで、禁断:
{
"errorCode": "E0000005",
"errorSummary": "Invalid Session",
"errorLink": "E0000005",
"errorId": "oaew0udr2ElRfCnZvBFt075SA",
"errorCauses": []
}
私はこれが解決得ることができますと仮定すると、私は私がcookieTokenで呼び出す必要がありますURLのか分かりません。 URLはSharePointにリダイレクトされるOKTAエンドポイントか、クッキーとのセッションをセットアップするSharePointエンドポイントですか?
アップデート:私はこのoktaエンドポイントを呼び出すことができています - JSON
{
"username": "[email protected]",
"password": "[email protected]"
}
としての私のユーザーの資格情報を使用して>/API/V1 /セッションadditionalFields = cookieTokenをそしてワンを検索することができるのですか?ブラウザでSAMLセッションを開始するには、このリンクで使用することができ、時間のクッキー・トークン:
https://[mydomain].okta.com/login/sessionCookieRedirect?redirectUrl=[sharepoint site url]&token=[cookie token]
ブラウザで動作し、ユーザーは自動的に認証し、SharePointで終わるされます。しかし、プログラムのHTTPクライアント(Apache HTTP Clientなど)で同じリンクを実行すると動作しないため、このセッション「setup」は少なくとも部分的にjavascriptによって実現されているようです。 httpクライアントは、いくつかのリダイレクトを介して送信され、SharePointサイトで終了しますが、ユーザーは認証されません。応答が403である - 次のヘッダーで禁止:
403 -
Content-Type -> text/plain; charset=utf-8
Server -> Microsoft-IIS/8.5
X-SharePointHealthScore -> 0
SPRequestGuid -> 0ecd7b9d-c346-9081-cac4-43e41f3b159a
request-id -> 0ecd7b9d-c346-9081-cac4-43e41f3b159a
X-Forms_Based_Auth_Required -> https://[sharepoint site]/_login/autosignin.aspx?ReturnUrl=/_layouts/15/error.aspx
X-Forms_Based_Auth_Return_Url -> https://[sharepoint site]/_layouts/15/error.aspx
X-MSDAVEXT_Error -> 917656; Access denied. Before opening files in this location, you must first browse to the web site and select the option to login automatically.
X-Powered-By -> ASP.NET
MicrosoftSharePointTeamServices -> 15.0.0.4709
X-Content-Type-Options -> nosniff
X-MS-InvokeApp -> 1; RequireReadOnly
Date -> Fri, 13 May 2016 15:02:38 GMT
Content-Length -> 13
をFORBIDDEN私はOKTAまたはSharePointはSAML経由でプログラムによる認証をサポートしていないこと、これが失われた原因である場合は疑問に思い始めています。