2012-03-06 3 views
1

SAP's SAPUI5 framework으로 시작하고 로그온 토큰 (MYSAPSSO2)을 사용하여 단일 로그온을 시도하지만 토큰을 가져 오거나 OData HTTP 요청에 토큰을 첨부 할 수있는 곳을 볼 수 없습니다 . 나는 위의 링크 된 블로그 게시물의 예는 사용자 이름/암호를 사용하지만 토큰을 사용하지 않는 : 나는 SDK에서 제공하는 ODataModel.js 파일을 볼 경우에도SAPUI5 및 로그온 토큰/SSO?

// Specify the SAP Gateway SalesOrder service as an OData model 
var salesOrderService = 
    "https://gw.esworkplace.sap.com/sap/opu/sdata/IWFND/SALESORDER", 

// The SalesOrder service requires authentication 
// get the username/password from the SDN page. 
username = "[username]", 
password = "[password]", 

// SAP Gateway only supports XML, so don't use JSON 
asJson = false, 
salesOrderModel = new ODataModel(salesOrderService, asJson, username, password) 

를 생성자는 로그온을지지 않습니다 토큰 :

/** 
* Constructor for a new ODataModel. 
* 
* @param {string} sServiceUrl required - base uri of the service to request data from 
* @param {string} [bJSON] (optional) true to request data as JSON 
* @param {string} [sUser] (optional) user 
* @param {string} [sPassword] (optional) password 
* 
* @class 
* Model implementation for oData format 
* 
* @extends sap.ui.model.Model 
* 
* @author SAP AG 
* @version 1.2.0 
* 
* @constructor 
* @public 
*/ 

나는 사람이 SAPUI5와 SSO/MYSAPSSO2 로그온 토큰 경험이있는 경우 (이 새로운 이후 아무도 아직이 들어 보지 않았다면, 나는 놀라지 않을 것이지만) 궁금합니다.

답변

5

나는 당신이 참조한 블로그의 저자입니다. 내가 당신의 질문에 대답하도록 노력합시다.

3 월 15 일에서 귀하의 의견은 프록시 접근 방식을 설명합니다. 프록시가 SSO 토큰을 받으면 SET-COOKIE 헤더를 사용하여 클라이언트에 전달해야합니다.

그래서 SAP에 성공적으로 인증을 받으면 SSO 토큰에 응답의 HTTP 헤더가 생깁니다.

예.

세트 - 쿠키 : MYSAPSSO2 = AjQxMDM ..... BABhHAFcA % 3d % 3d; 경로 = /; domain = esworkplace.sap.com

프록시는이를 클라이언트의 브라우저로 전달하고 도메인 이름을 프록시의 도메인 이름으로 변경해야합니다. 그렇지 않으면 클라이언트는 클라이언트의 브라우저를 사용하지 않습니다.

세트 - 쿠키 : MYSAPSSO2 = AjQxMDM ..... BABhHAFcA % 3d % 3d; 경로 = /; 도메인 = yourproxydomain.com

브라우저가 자동으로이 같은 요청 헤더에서이 세션 쿠키, 포함 프록시에 요청합니다

다음 시간 :

쿠키 : MYSAPSSO2 = AjQxMDMBABhH을 ...... % 2fjmaRu5sSb28M6rEg % 3d % 3d

프록시는 HTTP 요청 헤더에서 해당 쿠키를 읽고 전화를 걸 수 있습니다.

이 정보가 도움이되기를 바랍니다.

+0

SAPUI5에 대한 SAP 인증 공급자에 대한 지침이 있기를 기대했지만 이것이 우리가해야 할 일이라고 생각합니다. 그러나 SAP 포털에 호스팅 된 SAPUI5 응용 프로그램의 경우 브라우저가 이미 MYSAPSSO2 토큰을 가지고 있으며 동일한 도메인에 있으면 SAP NetWeaver Gateway로 전달할 가능성이 높으므로 걱정할 필요가 없을 것입니다 . –

0

SAPUI5 및 oData에 대해 확실하지 않습니다. Java EE 웹 응용 프로그램/sencha touch 기반 응용 프로그램과 MYSAPSSO2 토큰을 사용하여 SAP 백엔드 시스템과 SSO를 연결합니다. http 요청에서 토큰을 쿠키로 전달하기 만하면됩니다.

이렇게하는 방법은 여러 가지가 있습니다. 제가 사용한 것은 SimpleClientHttpRequestFactory이거나 UrlConnection 자체에서 할 수 있습니다.

+0

나는 SAPUI5의 하나로, OData 요청 개체와 비트 주위에 연주하고, 그것이 공중 인터페이스를 제공하지 않기 때문에이 모든 것을 쉽게 쿠키를 추가 할 수 없습니다. 나는 내 요구에 그것을 첨부하기 위해 장면 뒤에서 다이빙을해야 할 것이다. 또한 SAP NetWeaver Gateway의 OData 끝점이 MYSAPSSO2 쿠키와 함께 작동한다는 사실을 확신 할 수 없습니다. 나는 그들이 할 것이라고 생각한다. SAP가 다른 방식으로 작동하게 만들면 놀라실 것입니다. –

+0

새로운 SAP 기술을 사용하는 것은 항상 도전적입니다. 게이트웨이를 사용하는 대신 오픈 소스 코드를 사용하여 SAP 데이터를 JSON Restful API로 변환했습니다. 자세한 내용은 다음과 같습니다. http://code.google.com/p/zjson. 일단 이것을 설정하면 SAP에 의존하는 대신 표준 Java 방식으로 쿠키를 전달할 수 있습니다. 게이트웨이는 확실히 유망하지만 마이그레이션하기 전에 더 성숙해질 때까지 기다릴 것입니다. – Dhananjay

+0

우리는 실제로 Gateway를 사용하지 않고 실제로 RFC를 OData 모델로 변환하는 .NET 프록시를 사용합니다. 그러나 우리는 여전히 유선을 통해 해당 토큰을 얻는 방법이 필요합니다. 그래서 누구나 SAPUI5 요청 개체를 수정 한 적이 있는지 궁금했습니다. 쿠키를 포함합니다. –

2

저는 SAPUI5에 대한 책임이 있습니다. 제가이 문제를 완전히 이해하고 있는지 확신 할 수는 없지만 답변을 드리겠습니다. 데이터를 읽는 SAPUI5 호출은 XMLHttpRequests를 사용하므로 모든 인증서 또는 쿠키가 요청과 함께 자동 전송됩니다. 또한 Gateway는이 (유효한) 인증서를 수락해야합니다. Istak의 답변에 따라 적절한 도메인에서 쿠키를 사용하면 UI5에 API가 없어도 작동합니다.

어쨌든, 내가 놓친 것이 있다면, 더 자세히 설명해주십시오.

안부 스테판

+0

인트라넷 응용 프로그램, 특히 SAP 포털 외부에서 호스팅되는 응용 프로그램에 SAPUI5를 사용하는 경우 SAP의 장기 인증 방향에 주로 관심이 있습니다. –