Авторизация пользователей из внешних систем
Система Nemo позволяет обращаться к ней как базе пользователей для авторизации из других систем (например форума на сайте, собственного ПО компании и т.п)
Для этого нужно сделать следующее:
необходимо на адрес вида https://domain/api__external_authorization отправить POST-запрос в стандартном формате ответа об авторизуемом пользователе. При получении запроса система Nemo.Travel обрабатывает полученные данные, авторизует пользователя и перенаправляет пользователя на страницу поиска авиабилетов. В случае неудачной авторизации, у пользователя появится возможность стандартной авторизации по номеру телефона.
Запрос передачи авторизуемого пользователя
Системе Nemo.Travel можно передать информацию об авторизованном во внешней системе пользователе путем отправки на URL https://domain/api__external_authorization POST запроса в следующем формате:
POST - параметр
Пример значения параметра
request
{
"user": { "id": 12, "email": "test@test.ru", "phone": "79123456789", "firstName": "Konstantin", "lastName": "Konstantinov", "middleName": "Konstantinovich", "birthDate": "1990-11-15", "nationality": "RU", "gender": "F", "docNumber": "6522232232", "loyaltyNumber": "1231233213223" }, "passengers": [{ "id": 433, "firstName": "Alexander", "lastName": "Alexandrov", "middleName": "Alexandrovich", "birthDate": "1990-10-05", "nationality": "RU", "gender": "M", "docNumber": "7844454454", "loyaltyNumber": "1231223213223" }] }
<--!>
?xml version ='1.0' encoding ='UTF-8' ?>
<definitions name='Authorization'
targetNamespace='http://example.org/Authorization'
xmlns:tns=' http://example.org/Authorization '
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns='http://schemas.xmlsoap.org/wsdl/'>
<message name='getAuthorizationRequest'>
<part name='login' type='xsd:string'/>
<part name='pass' type='xsd:string'/>
</message>
<message name='getAuthorizationResponse'>
<part name='session_id' type='xsd:string'/>
<part name='user_id' type='xsd:string'/>
<part name='login' type='xsd:string'/>
<part name='status' type='xsd:string'/>
</message>
<portType name='AuthorizationPortType'>
<operation name='getAuthorization'>
<input message='tns:getAuthorizationRequest'/>
<output message='tns:getAuthorizationResponse'/>
</operation>
</portType>
<binding name='AuthorizationBinding' type='tns:AuthorizationPortType'>
<soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/>
<operation name='getAuthorization'>
<soap:operation soapAction='urn:xmethods-delayed-quotes#getAuthorization'/>
<input>
<soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</input>
<output>
<soap:body use='encoded' namespace='urn:xmethods-delayed-quotes'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</output>
</operation>
</binding>
<service name='AuthorizationService'>
<port name='AuthorizationPort' binding='AuthorizationBinding'>
<soap:address location='http://nemo.local/controllers/authorization/auth_server.php'/>
</port>
</service>
</definitions></--!>