|
Вопрос по OpenId-аутентификации в веб-клиенте | ☑ | ||
---|---|---|---|---|
0
_stay true_
14.09.16
✎
09:27
|
Здравствуйте. Есть три базы с идентичнымы списками пользователей(логины, пароли, права)
Юзеры планируют работать в веб морде. Хотим попробовать настроить так, чтобы авторизовавшись во "входной" базе, в две другие заходили без ввода логина и пароля. Перерыл кучу статей в сети, включая итс. Опубликовал "входную" базу с галкой "использовать в качестве провайдера OpenID". Две другие опебликовал с галками "Использовать OpenID-аутентификацию и в поле с адресом провайдера указал как в инструкции: http://127.0.0.1/mybase//e1cib/oid2op вбиваем ссылку в браузер, скачивается файлик с настройками, как в инструкции. Вот его содержимое <?xml version="1.0" encoding="UTF-8"?> <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority='0'> <Type>http://specs.openid.net/auth/2.0/server</Type> <URI>http://127.0.0.1/mybase/e1cib/oid2op</URI> </Service> </XRD> </xrds:XRDS> Ни в какую не хочет появляться окно OpenID-аутентификации. Только стандартное окно 1С. платформа 8.3.8.2054 + сервер 1С(x64), веб-сервер Apache 2.4.4(x64) Кто настраивал подобное - поделитесь мудростью. |
|||
1
_stay true_
14.09.16
✎
09:29
|
Опечатка:
http://127.0.0.1/mybase/e1cib/oid2op |
|||
2
_stay true_
14.09.16
✎
10:11
|
Ну блин, выручайте((
|
|||
3
_stay true_
14.09.16
✎
10:22
|
Где же все остроумные гении типа "позовите специалиста" или "тебе этого делать не нужно"?)) А то скучно
|
|||
4
xafavute
14.09.16
✎
10:24
|
все сервера на 1 компе?
|
|||
5
_stay true_
14.09.16
✎
10:24
|
(4) Да, я пока локально на своём играюсь с win7 x64
|
|||
6
_stay true_
14.09.16
✎
10:25
|
Все три публикации доступны по 127.0.0.1/mybase или Localhost/mybase
Пробовал ru_RU в конец добавлять - безрезультатно. |
|||
7
_stay true_
14.09.16
✎
10:31
|
Ещё наблюдал, что базы, в публикации которых указана ссылка на провайдер, при запуске по веб-морде долго "висят", а потом появляется окно 1С-аутентификации. Установка юзеру галки "Аутентификации OpenID" не дала результатов
|
|||
8
xafavute
14.09.16
✎
10:36
|
может это?
Если OpenID-провайдер требует интерактивной аутентификации (происходит первое обращение или истекло время жизни признака аутентифицированности), клиент отображает диалог для ввода имени и пароля пользователя. Аутентификация происходит по списку пользователей информационной базы OpenID-провайдера. |
|||
9
xafavute
14.09.16
✎
10:36
|
добавь в базу openid тестового пользователя и проверь
|
|||
10
_stay true_
14.09.16
✎
10:38
|
(9) Пробую
|
|||
11
xafavute
14.09.16
✎
10:40
|
также включи тж по exeption
|
|||
12
xafavute
14.09.16
✎
10:40
|
еще нашел
Возможно, дело в том, что вы пытаетесь работать c OpenID провайдером по протоколу http. Это следует из того, что в файле oid2op указан адрес OpenID провайдера с протоколом http. <URI>http://msk-s3-arm065/sm/e1cib/oid2op</URI> В то время как в документации по 1С:Предприятию сказано (Руководство администратора, приложение 3, п. 3.16.8.2): ВНИМАНИЕ! Взаимодействие с OpenID-провайдером осуществляется только по HTTPS-соединению. |
|||
13
xafavute
14.09.16
✎
10:41
|
||||
14
_stay true_
14.09.16
✎
10:44
|
(12) Поднимаем Apache 2.4.4(x64) с SSL. Будем пробовать.
|
|||
15
Мыш
14.09.16
✎
11:01
|
ОпенИД не делал, но доменную авторизацию заборол. Но на ИИС.
|
|||
16
_stay true_
19.09.16
✎
10:51
|
Не получилось.
Настроили SSL как http://adminsnotes.blogspot.ru/2008/01/apache-openssl-windows.html В браузере стучится в базу по https://localhost:443/mybase Ссылка на провайдер стала такой: https://localhost:443/mybase/e1cib/oid2op default.vrd базы провайдера Openid <?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/SPPR" ib="File="D:\KULESHOV_K_O\SPPR_FILE";" enableStandardOData="true" temp="D:\www\tmp\"> <ws publishExtensionsByDefault="true"> <point name="EnterpriseDataExchange_1_0_1_1" alias="EnterpriseDataExchange_1_0_1_1.1cws" enable="true"/> <point name="EnterpriseDataUpload_1_0_1_1" alias="EnterpriseDataUpload_1_0_1_1.1cws" enable="true"/> <point name="ErrorsExchange" alias="ErrorsExchange.1cws" enable="true"/> <point name="Exchange" alias="exchange.1cws" enable="true"/> <point name="Exchange_2_0_1_6" alias="exchange_2_0_1_6.1cws" enable="true"/> <point name="FunctionModel" alias="FunctionModel.1cws" enable="true"/> <point name="InterfaceVersion" alias="InterfaceVersion.1cws" enable="true"/> </ws> <httpServices publishExtensionsByDefault="true"/> <openid> <provider> <lifetime>604800</lifetime> </provider> </openid> </point> default.vrd базы со ссылкой на провайдер openid: <?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/DMC_WEB" ib="File="D:\KULESHOV_K_O\DMC_WEB";" enableStandardOData="true"> <httpServices publishByDefault="false"/> <ws> <point name="AddressSystem" alias="AddressSystem.1cws" enable="true"/> <point name="DMMessageService" alias="dmmessage.1cws" enable="true"/> <point name="DMService" alias="dm.1cws" enable="true"/> <point name="DMX" alias="DMX.1cws" enable="true"/> <point name="EnterpriseDataExchange_1_0_1_1" alias="EnterpriseDataExchange_1_0_1_1.1cws" enable="true"/> <point name="EnterpriseDataUpload_1_0_1_1" alias="EnterpriseDataUpload_1_0_1_1.1cws" enable="true"/> <point name="Exchange" alias="exchange.1cws" enable="true"/> <point name="Exchange_2_0_1_6" alias="exchange_2_0_1_6.1cws" enable="true"/> <point name="Files" alias="files.1cws" enable="true"/> <point name="InterfaceVersion" alias="InterfaceVersion.1cws" enable="true"/> <point name="MEDO" alias="medo.1cws" enable="true"/> <point name="MEDO1C" alias="medo1c.1cws" enable="true"/> <point name="MobileDMVersionService" alias="mobileDMVersionService.1cws" enable="true"/> <point name="MEDO2013" alias="medo2013.1cws" enable="true"/> </ws> <openid> <rely url="https://localhost:443/SPPR//e1cib/oid2op"/> </openid> </point> И содержимое файла oid2op <?xml version="1.0" encoding="UTF-8"?> <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority='0'> <Type>http://specs.openid.net/auth/2.0/server</Type>; <URI>https://localhost:443/mybase/e1cib/oid2op</URI>; </Service> </XRD> </xrds:XRDS> Всё-равно вылезает стандартное окно 1С-аутентификации. |
|||
17
_stay true_
19.09.16
✎
10:53
|
<rely url="https://localhost:443/SPPR//e1cib/oid2op"/>;
Опечатка Правильно <rely url="https://localhost:443/mybase/e1cib/oid2op"/>; |
|||
18
xafavute
19.09.16
✎
11:00
|
(17) Сертификаты для https как настраивал?
|
|||
19
xafavute
19.09.16
✎
11:00
|
сама ссылкка в браузере открывается?
|
|||
20
arsik
гуру
19.09.16
✎
11:03
|
А попробуй в настройках не локалхост указать, а нормальный,внешний, айпишник.
|
|||
21
_stay true_
19.09.16
✎
11:08
|
(18) сертификаты как описано в статье в (16)
http://adminsnotes.blogspot.ru/2008/01/apache-openssl-windows.html В командной строке прописывали нужные команды. Всё как по инструкции (20) Сейчас попробую. |
|||
22
arsik
гуру
19.09.16
✎
11:10
|
+ (20) Клиент возможно пытается на 127.0.0.1 искать openid сервер.
|
|||
23
_stay true_
19.09.16
✎
11:16
|
(22) я первый раз такое пытаюсь поднять: разве openid-сервером в данном случае не выступает база 1С?
|
|||
24
xafavute
19.09.16
✎
11:22
|
"https://localhost:443/mybase/e1cib/oid2op"
Открывается в браузере? |
|||
25
_stay true_
19.09.16
✎
11:27
|
(24) Да. Скачивается файлик. Как в статье на ITS описано.
<?xml version="1.0" encoding="UTF-8"?> <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority='0'> <Type>http://specs.openid.net/auth/2.0/server</Type>;; <URI>https://localhost:443/mybase/e1cib/oid2op</URI>;; </Service> </XRD> </xrds:XRDS> |
|||
26
_stay true_
19.09.16
✎
15:25
|
Если через тонкий клиент и выставить параметр запуска /OIDA+, то такая ошибка лезет:
"1с ошибка подключения к openid провайдеру https://localhost:443/mybase/e1cib/oid2op" и предлагает повторить попытку подключения Через браузер даже окошко OpenID-аутентификации не лезет. Может, чего с юзерами намудрил? В базе-провайдере: создал админа с полными правами и ролью администратор системы, поставил галку "Аутентификация 1С: предприятия" и галку "Аутентификация OpenID". Во второй базе, где указана ссылка на провайдер OpenID, просто создал юзера с таким же логином и правами, но выставил только галку "Аутентификация OpneID". |
|||
27
_stay true_
19.09.16
✎
15:48
|
Если просто без ввода пароля нажать вход, то получаем ошибку: "Ошибка OpenID-аутентификации пользователя(Тонкий клиент).
Что за бяка-кака((( |
|||
28
arsik
гуру
19.09.16
✎
18:30
|
Внешний айпишник указывал? У тебя клиент пытается на локалхосте найти опенайди сервер.
|
|||
29
xafavute
19.09.16
✎
18:34
|
(26) Ты уже выяснил чей список показывается: свой или чужой?
|
|||
30
xafavute
19.09.16
✎
18:35
|
И в тж что пишется?
|
|||
31
xafavute
19.09.16
✎
18:35
|
попробуй полный собрать
|
|||
32
xafavute
19.09.16
✎
18:36
|
ну и платформу не ниже 8.3.8.2027
|
|||
33
_stay true_
20.09.16
✎
08:36
|
(28) Внешний айпи не указывал, ибо пока тестирую всё на рабочем компе.
(29) В тонком клиенте в окне OpenID-аутентификации не отображаются пользователи в списке вообще. Приходится руками писать имя и пароль. Если вводишь корректные данные - ругается, что ошибка соедигнения с сервером OpenID, если оставляешь пароль пустым - вылетает ошибка "Ошибка OpenID аутентификации(тонкий клиент) (32) Платформа 8.3.8.1933+сервер x64 (31) Не совсем понял. (30) В ТЖ вот что вижу: Statistics: RecordsScanned = 1, ParseTime = 0, ExecuteTime = 0, BuffersMemory = 32988, ResultRecords = 1, RecordSize = 731',Rows=1 28:59.980006-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=4184,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_oid2op_auth,Value='OpenID:20160920042859:9f6a9aee-ba45-4104-919a-5c161bf1edf8:gpJlceZT/y6QRXQEVcRMe7nlPHdTgWus2RJmM9ogOwc=' 28:59.980007-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=2027,file=src\VResourceOpenID2Impl.cpp,threadId=4184,func=process_oid2op_request,OP=auth OK 28:59.995001-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=1128,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=process_oid2rp_request,RP=request received 28:59.995002-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=1409,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=process_oid2rp_request,RPCommand=init 28:59.995003-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=1413,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=process_oid2rp_request,RP=init command 28:59.995004-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_nooida,Value= 28:59.995005-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_oid2rp_sii,Value=966271582496286583:3393608938:1CV8C: 28:59.995006-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=2578,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=performDiscovery,RP=open https://localhost:443/SPPR/e1cib/oid2op 29:00.011000-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=2584,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=performDiscovery,RP XRDS parsing=downloading and parsing 29:00.026000-0,EXCP,0,process=httpd,Exception=9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3,Descr="src\Libxml2_Intf.cpp(136): 9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Ошибка доступа к файлу 'https://localhost:443/SPPR/e1cib/oid2op': src\HTTPImpl.cpp(2559): 896db6ac-cc39-4065-8298-1bf5fccb9d98: Ошибка работы с Интернет: Удаленный узел не прошел проверку" 29:00.026001-0,EXCP,0,process=httpd,Exception=c593fe3b-aeaf-496a-a32e-6b4dc2d13fff,Descr='src\VResourceOpenID2Impl.cpp(2555): c593fe3b-aeaf-496a-a32e-6b4dc2d13fff: Ошибка разбора XML: - [1,1] Фатальная ошибка: Extra content at the end of the document SystemId: https://localhost:443/SPPR/e1cib/oid2op' 29:00.026002-0,SYSTEM,0,process=httpd,level=INFO,component=vrsbase,class=OID2Log,line=1437,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=process_oid2rp_request,RP=OP DISCOVERY ERROR https://localhost:443/SPPR/e1cib/oid2op 29:00.026003-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=2212,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_nooida,Value=1 |
|||
34
_stay true_
20.09.16
✎
09:19
|
Обновляю платформу до 8.3.8.2088
|
|||
35
_stay true_
20.09.16
✎
14:34
|
Та же беда. И в cacert.pem отпечаток прописал, и как только уже не изголялся. Не работает.
|
|||
36
_stay true_
28.09.16
✎
10:43
|
попробуем ещё раз:) Апну темку)))
Кирпичами прошу не кидаться:) Итак, было сделано следующее: 1.Установлены 1С:предприятие 8.3.8.2088+Сервер 1С: предприятия(х64) того же релиза(чтобы получить 64х-компоненты для взаимодействия с Apache 2.4.4(x64)) 2. Установлен веб-сервер Apache 2.4.4(x64) с поддержкой OpenSSL/1.0.1e 3. Настроены Apache и SSL согластно инструкции http://catalog.mista.ru/public/146288/ 4. в каталоге bin платформы и сервера в файлы cacert.pem добавлены отпечатки, полученные строго по инструкции http://1centerprise8.blogspot.ru/2015/08/post-https-82.html 5. Сертификат был успешно импортированы в винду в доверенные корневые центры сертификации 7. Опубликована база-провайдер с галкой "Использовать в качестве OpenID-провайдера" и временем жизни соединения 432 000 секунд. 7. Ссылка на провадйер openid получилась такой: https://myserver/SPPR/e1cib/oid2op Как в инструкции на its 8. создан тестовый пользователь в базе провайдере СППР: OpenID, способ аутентификации 1С, пароль и роли установлены; 9. В базе-примемнике создан пользователь с таким же логином и ролями, но способ аутентификации указан OpenID; 10. Источник, примемник, настройки OpenID доступны по ссылкам; 11. Настроен технологический журнал в соответствии с интсрукцией на ИТС(получение событий OpenID) В итоге: 1. Подключаемся к базе-приемнику по тонкому клиенту: появляется окно OpenID-аутентификации со ссылкой на провайдер, вводим логин, пароль вводим пустой или неправильный: получаем ошибку "Ошибка OpenID-аутентификации пользователя(тонкий клиент). В тех журнале наблюдаем: 38:11.145002-0,SYSTEM,0,process=httpd,level=INFO,component=vrsbase,class=OID2Log,line=1437,file=src\VResourceOpenID2Impl.cpp,threadId=1884,func=process_oid2rp_request,RP=OP DISCOVERY ERROR https://kab314-12/SPPR/e1cib/oid2op 38:11.145003-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=1884,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_nooida,Value=1 39:27.810001-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=1977,file=src\VResourceOpenID2Impl.cpp,threadId=1028,func=process_oid2op_request,OP=auth command 39:27.810002-0,SYSTEM,0,process=httpd,level=DEBUG,component=vrsbase,class=OID2Log,line=393,file=src\VResourceOpenID2Impl.cpp,threadId=1028,func=read_message,Msg="can't set msg param",Key=auth.pwd,Value= 39:27.810005-1,DBV8DBEng,1,process=httpd,Trans=0,Sql="SELECT TOP 2147483647 ID, Name, Descr, OSName, Changed, RolesID, Show, Data, EAuth, AdmRole, UsSprH FROM v8users WHERE Name = N'OpenID' AND ID <> 0x952A5019EAE6A1F74023E7966E3EE1DE ORDER BY Name",NParams=0,Rows=1,Func=getExecSQLStatistics 39:27.810006-3,DBV8DBEng,0,process=httpd,Trans=0,Sql="SELECT TOP 2147483647 ID, Name, Descr, OSName, Changed, RolesID, Show, Data, EAuth, AdmRole, UsSprH FROM v8users WHERE Name = N'OpenID' AND ID <> 0x952A5019EAE6A1F74023E7966E3EE1DE ORDER BY Name",NParams=0,planSQLText='Fields:( ID, Name, Descr, OSName, Changed, RolesID, Show, Data, EAuth, AdmRole, UsSprH ) V8USERS (v8users) RANGE SCAN USING INDEX (BYNAME) (1 fields) WHERE (ID <> 952A5019EAE6A1F74023E7966E3EE1DE) Statistics: RecordsScanned = 1, ParseTime = 0, ExecuteTime = 0, BuffersMemory = 32982, ResultRecords = 1, RecordSize = 731',Rows=1 39:27.810009-1,DBV8DBEng,1,process=httpd,Trans=0,Func=selectFileName,FileName=ibparams.inf 39:27.810010-3,DBV8DBEng,0,process=httpd,Trans=0,Func=readFile,CatName=Params,FileName=ibparams.inf 39:27.810011-0,SYSTEM,0,process=httpd,level=DEBUG,component=vrsbase,class=OID2Log,line=966,file=src\VResourceOpenID2Impl.cpp,threadId=1028,func=oid2op_check_cred,OP=invalid credentials,Username=OpenID 39:27.810012-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=2045,file=src\VResourceOpenID2Impl.cpp,threadId=1028,func=process_oid2op_request,OP=auth FAILED 2. Подключаемся к базе-приемнику по тонкому клиенту: появляется окно OpenID-аутентификации со ссылкой на провайдер, вводим КОРРЕКТНЫЕ логин/пароль(как в базе-провайдере), получаем "Ошибка подключения к OpenID-провайдеру https://myserver/SPPR/e1cib/oid2op" В тех.журнале видим следующее: 40:46.097000-0,EXCP,0,process=httpd,Exception=9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3,Descr="src\Libxml2_Intf.cpp(136): 9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Ошибка доступа к файлу 'https://kab314-12/SPPR/e1cib/oid2op': src\HTTPImpl.cpp(2559): 896db6ac-cc39-4065-8298-1bf5fccb9d98: Ошибка работы с Интернет: Удаленный узел не прошел проверку" 40:46.097001-0,EXCP,0,process=httpd,Exception=c593fe3b-aeaf-496a-a32e-6b4dc2d13fff,Descr='src\VResourceOpenID2Impl.cpp(2556): c593fe3b-aeaf-496a-a32e-6b4dc2d13fff: Ошибка разбора XML: - [1,1] Фатальная ошибка: Extra content at the end of the document SystemId: https://kab314-12/SPPR/e1cib/oid2op' 40:46.097002-0,SYSTEM,0,process=httpd,level=INFO,component=vrsbase,class=OID2Log,line=1437,file=src\VResourceOpenID2Impl.cpp,threadId=1884,func=process_oid2rp_request,RP=OP DISCOVERY ERROR https://kab314-12/SPPR/e1cib/oid2op 40:46.097003-0,SYSTEM,0,process=httpd,level=TRACE,component=vrsbase,class=OID2Log,line=281,file=src\VResourceOpenID2Impl.cpp,threadId=1884,func=RequestCookies::setCookie,Msg=set cookie,Name=vrs_nooida,Value=1 Сервер и клиент всё поднято на одном компе, в апаче настроен виртуальный хост как по инструкции. Почему пишет "узел не прошел проверку" и "ошибка работы с интернет" - для меня большая загадка((( |
|||
37
_stay true_
28.09.16
✎
10:47
|
myserver=kab 314-12
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |