2016-12-21 3 views
0

나는 서비스 Now API (나머지)를 소모하는 프로젝트에 종사하고있다. 그렇게하기 위해 우리 고객은 우리가 로그인하고 우리가 필요로하는 모든 서비스 전화를 걸기 위해 사용자로서 우리를 등록했습니다. 이 프로젝트에는 사용자가 지금 서비스에 계정을 가지고 로그인 할 수있는 인터페이스가 있습니다. 로그인 할 때 입력하는 사용자 이름은 현재 서비스와 관련이 없지만 나중에 사용자를 지금 서비스와 연관시킵니다. 그들은이 인터페이스를 통해 일부 작업을 수행 할 수 있습니다. 통합 사용자를 사용하여 모든 작업을 수행 할 수 있습니다. 현재 사용자는 자신의 암호를 우리와 공유 할 필요가 없기 때문에 사용자 자신의 서비스를 전달하지 않습니다. 그러나 지금 서비스에 등록 할 올바른 사용자를 추적해야하며 특히 사건에 대해 의견을 말하면 문제가 있습니다. 의견을 엔드 포인트는 다음서비스 지금 특정 사용자로 코멘트하는 방법

http://hostname/api/now/table/incident/ {sys_id} 요청 본문만큼이나 간단한 JSON 객체입니다

:

{ 
"comments": "My comment is foo bar" 
} 

하지만이 댓글이에 등록 될 때를 서비스 이제 사용자 대신 통합 사용자가됩니다. 특정 사용자를 유지할 수있는 방법이 있습니까? 서비스 요청시 사용자 아이디가 필요하다는 것을 이미 알았 으면합니다. 서비스 설명서를 읽으려고했지만 실마리를 풀 수있는 방법이 없었습니다. 가장 좋아하는 것에 대해 뭔가를 발견했습니다.

답변

0

자신의 계정 대신 "통합 사용자"를 통해 프록시를 수행하고 있기 때문에 상황이 발생합니다. 이 경우 귀하의 의견은 통합 사용자에게 귀속됩니다.

이 문제를 해결하는 두 가지 방법을 생각해 볼 수 있습니다.

  1. 클라이언트에게 시스템으로 사용자로 직접 로그인하도록 요청합니다.

  2. 인시던트를 식별하고 설명을 입력 할 수있는 특수 API (제네바에서 사용 가능한 스크립팅 된 REST API)를 구현 한 다음 스크립트가 사용자를 대신하여 설명을 위조하여 저작자를 올바르게 표시 할 수있게합니다.

첫 번째 해결책은 추가 라이센스 비용으로 인해 비쌀 수 있습니다.

두 번째 솔루션은 프로그래머에 따라 2-3 시간의 개발 시간을 할애해야합니다.

+0

답변 해 주셔서 감사합니다. 사용자가 암호를 입력 할 수 없으면 첫 번째 옵션을 사용할 수 없습니다. 두 번째 옵션은 ServiceNow API의 사용자 정의 기능입니다. 그게 효과가 있지만 아이디어는 다음과 같습니다. 우리의 어플리케이션은 다른 클라이언트의 많은 서비스에 연결할 수 있어야합니다. 상호 운영 성은 우리가 유지 관리해야하는 것입니다. 때때로 사용자 정의 할 수 없습니다. –

+0

불가능한 경우 클라이언트의 ServiceNow 인스턴스를 사용자 정의하려면 주석을 작성할 때 모든 저널 레코드의 sys_created_by 필드를 변경할 수 없습니다. sys_created_by 필드는 로그인 한 사람의 신원을 기록하며 작성자와 동일하다고 가정합니다. 로그인 한 사람이 작성자와 다른 _다는 것을 시스템에 알리려고합니다. sys_created_by 필드를 조작 할 수는 있지만 ServiceNow 내의 레코드에 대한 쓰기 액세스 권한이 있어야합니다. Scripted REST API 또는 비즈니스 규칙 또는 비슷한 스크립트를 통해 사용자 지정 스크립트가 필요합니다. –

+0

표제 : 가장에 대해 언급했습니다.실제로 가장하는 사람이 인시던트 기록에 액세스하고 댓글을 남길 수있는 충분한 권한이 있다고 가정 할 때 누군가를 사칭하고 댓글을 남길 수 있습니다. 문제는 ServiceNow 인스턴스에 대한 관리자 권한이 필요하다는 것입니다. 당신의 고객이 허락하지 않을 것으로 의심되는 것. –

관련 문제