8

SharePoint Online에 대한 원격 인증을 사용하여 대상 O365 SharePoint 사이트에 액세스하고 FedAuth 및 rtFA 쿠키를 검색했습니다. 이것은 xxx.sharepoint.com 도메인이있는 대상 URL에 적합합니다. 이제이 도메인이 example.com으로 사용자 정의 된 경우 인증 메커니즘이 오류를 던지는데 실패합니다. "로그인 요청에 사용 된 파트너 DNS를 찾을 수 없습니다." .sharepoint.com을 반영하지 않도록 도메인이 사용자 정의 된 SharePoint 온라인 사이트에 대해 인증 할 수있는 방법이 있습니까? ?사용자 지정 도메인을 사용하여 SharePoint Online에 원격 인증

답변

10

제가 알고 있듯이 SharePoint의 사용자 지정 도메인은 더 이상 소유권을 인식하지 않습니다. 쿠키를 정말로 갖고 싶다면 그 해결책은 이상적이지는 않지만 해커 같은 것들이 될 것입니다. Microsoft의 제한 수를 감안할 때이 문제에 직접적인 해결책은 없지만 화면 스크래핑이 있습니다. 나는 성공했고 screen scraping을 통해 fedAuth 쿠키를 얻을 수 있었다. 알아요, 그다지 쉽지는 않지만 대단히 가능합니다. SharePoint 포털에 약 6 건의 웹 요청을해야합니다.

  • 첫 번째 것은 맞춤 도메인에 대한 웹 요청입니다.

  • 두 번째로 응답 헤더에서 "X-Forms_Based_Auth_Required"의 값을 가져 와서 요청하십시오.

  • 셋째, 응답 헤더에서 SetCookie (rps context cookie) 및 위치 값을 가져 와서 Location에 요청하십시오.

    • 넷째, 위해 SetCookie의 가치를, "srf_uPost", "PPFT"및 응답의 ResponseUri에 요청합니다. 요청 헤더에 Cookie 및 ppft의 값을 설정하고 "srf_uPost"값을 요청하십시오. 또한 "login ="+ username + "& passwd ="+ password를 요청 스트림에 포함 시키십시오.

    • 다섯째, HTML에서 "action"요소와 "T"요소의 값을 가져옵니다. 그리고 당신이 action 요소의 가치에서 얻은 것을 url에 요청하십시오. 요소 T를 포스트 스트링으로 포함하십시오.

    • 여섯 번째, 다섯 번째 단계를 반복하면 이번에는 fedAuth 쿠키가 반환됩니다.

쉽게 당신이 사라 내 blog

+0

블로그 포스트에있는 모든 코드를 찾을 수 있습니다 싶어하지만, 당신은 여전히 ​​어딘가에 있나요 통해 얻을 수 있어야합니다? –

+0

[Kunal의 블로그 기사 사본] (https://web.archive.org/web/20131206080331/http://kunalkapoor.in:80/index.php/2013/04/26/active-authentication-to) -sharepoint-for-office-365-custom-domains)를 인터넷 아카이브에 추가했습니다. –

관련 문제