Fernando Ribeiro
3 вопросы
0
голосов
0
ответ
18
Просмотры
Как интегрировать Social Войти с помощью существующего .Net ядра Web API бэкэнда и угловой SPA фронтэнда с рабочей OpenIddict пользователя / паролем и каналом передачи маркерами
TL; DR Вопрос: как реализовать социальный логин (OAuth2 потока авторизации) с существующим приложением SPA / Web API, который основан на личных данных, пользователя / пароль, однонаправленного маркера аутентификации? У меня есть существующее приложение, который имеет: Backend: .Net Core 2 Web API с идентификацией и OpenIddict услугами, сконфигурированное, с процессом аутентификации рабочей на основе пароля пользователя / вызов для однонаправленных маркеров. Пользователи сохраняются с Идентичность (AspNetUsers). Часть кода Startup.cs // Зарегистрировать OpenIddict услуги. services.AddOpenIddict () .AddCore (опции => {options.UseEntityFrameworkCore () UseDbContext ();.}) .AddServer (опции => {options.UseMvc (); options.EnableTokenEndpoint ( "/ подключить / маркер"); опции .AllowPasswordFlow (); options.AllowRefreshTokenFlow (); опция. AcceptAnonymousClients (); options.RegisterScopes (OpenIdConnectConstants.Scopes.OpenId, OpenIdConnectConstants.Scopes.Email, OpenIdConnectConstants.Scopes.Phone, OpenIdConnectConstants.Scopes.Profile, OpenIdConnectConstants.Scopes.OfflineAccess, OpenIddictConstants.Scopes.Roles); }) .AddValidation (); , Frontend: SPA Угловое 7 приложение, которое потребляет этот бэкэнд API и токенов авторизации Таким образом, в основном текущие настройки, пользователь вводит пользователь / пароль в SPA, который вызывает бэкенд / подключения / маркер конечной точки, которая проверяет учетные данные и генерирует маркер для клиента. А теперь мне нужно интегрировать Social Login (OAuth2 поток авторизации), так что пользователь выбирает логин с провайдером, перенаправляется на страницу авторизации поставщиков, получает перенаправляется обратно к моему заявлению, которое должно создать идентификатор пользователя и сохранять данные идентичности UserLoginInfo и предоставить мой маркер приложения, так что пользователь может войти в систему. Я понимаю, поток авторизации OAuth2, что необходимо запросить код авторизации, а затем Обмен код авторизации для доступа Токена для этого провайдера. Я также знаю, что этот поток должен использовать бэкенд, когда он использует конфиденциальную информацию, как client_secret, которые не могут быть сохранены в стороне клиента. Но в какой-то момент пользователь должен взаимодействовать с веб-интерфейсе, так, соединяющим эти части, кажется, очень трудно, учитывая, что они широко используются технологии. Все практические примеры, которые я нашел на Google, были с помощью приложения .Net ядра MVC. Я также нашел эту статью ASP.N Co, 3. 0 Preview 4 - Аутентификация и авторизация для ООР, что кажется перспективным, но все еще в режиме предварительного просмотра 4. Я уже создал социальные приложения провайдеров и я client_id, client_secret. Кроме того, зарегистрировавшись мои других страниц URL. То, что я пытался без успеха было: В пользователь фронтэнда выбирает войти в системе с социальным провайдером, пользователь перенаправляется на страницу авторизации провайдера, аутентифицирует себя и перенаправляется от поставщика к моему фронтэнду URL (redirect_uri) с кодом поставщика тогда мой интерфейс называет мой бэкенд / Связь / маркер существующей конечной точки прохождения выбранного поставщика и полученный код, конечная точка была запрограммирована, чтобы получить у поставщика и код также, то мой бэкенд называет получить маркер доступа URL-адрес проводки «grant_type», «authorization_code» «код», код «redirect_uri провайдера "" providerSecret и получает StatusCode: 401, ReasonPhrase: «Несанкционированный» ответ Что я делаю неправильно? Это было очень трудно время, чтобы получить эту работу. То, что работало, но это не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. providerSecret и получает StatusCode: 401, ReasonPhrase: «Несанкционированный» ответ Что я делаю неправильно? Это было очень трудно время, чтобы получить эту работу. То, что работало, но это не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены.
4
голосов
3
ответ
2.6k
Просмотры
error installing gem pg version 0.12.2 on Ubuntu 12.04
im running on Ubuntu 12.04 and i'm trying to install the pg gem v '0.12.2' on Ruby 1.9.3p194 / Rails 3.2.3. I have installed libpq-dev and build-essential but i still get the same error:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.9.1 directory.
[email protected]:/media/fernando/OS/Rails/oops_booking$ sudo gem install pg -v '0.12.2'
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... yes
checking for PQconnectionUsedPassword()... yes
checking for PQisthreadsafe()... yes
checking for PQprepare()... yes
checking for PQexecParams()... yes
checking for PQescapeString()... yes
checking for PQescapeStringConn()... yes
checking for PQgetCancel()... yes
checking for lo_create()... yes
checking for pg_encoding_to_char()... yes
checking for PQsetClientEncoding()... yes
checking for rb_encdb_alias()... yes
checking for rb_enc_alias()... no
checking for struct pgNotify.extra in libpq-fe.h... yes0
checking for unistd.h... yes
checking for ruby/st.h... yes
creating extconf.h
creating Makefile
make
compiling compat.c
compiling pg.c
pg.c: In function ‘pgconn_wait_for_notify’:
pg.c:2117:3: warning: ‘rb_thread_select’ is deprecated (declared at /usr/include/ruby-1.9.1/ruby/intern.h:379) [-Wdeprecated-declarations]
pg.c: In function ‘pgconn_block’:
pg.c:2592:3: error: format not a string literal and no format arguments [-Werror=format-security]
pg.c:2598:3: warning: ‘rb_thread_select’ is deprecated (declared at /usr/include/ruby-1.9.1/ruby/intern.h:379) [-Wdeprecated-declarations]
pg.c:2607:4: error: format not a string literal and no format arguments [-Werror=format-security]
pg.c: In function ‘pgconn_locreate’:
pg.c:2866:11: warning: variable ‘lo_oid’ set but not used [-Wunused-but-set-variable]
pg.c: In function ‘find_or_create_johab’:
pg.c:3947:3: warning: implicit declaration of function ‘rb_encdb_alias’ [-Wimplicit-function-declaration]
cc1: some warnings being treated as errors
make: *** [pg.o] Error 1
i did install succesfully the newest version of pg gem but i really need to work with the version 0.12.2
thanks in advance
2
голосов
2
ответ
44
Просмотры
панды окно dataframe используя индекс даты
00 176,22 176,32 176,14 176,26 176,586624 2018-11-20 18:50:00 176,26 176,38 176,23 176,28 176,577114 Сдвиг 1 минуту. н: 2018-11-20 18:55:00 176,29 176,92 176,11 176,91 176,518353 2018-11-20 18:56:00 176,92 177,03 176,67 176,76 176,554964 2018-11-20 18:57:00 176,78 176,89 176,74 176,76 176,566201 2018-11 -20 18:58:00 176,77 176,87 176,56 176,65 176,571326 2018-11-20 18:59:00 176,65 177,17 176,59 176,94 176,681413 Как это сделать? Я tryied качению, GroupBy без успеха. панды 0.23.4 Python 3.6.3 Спасибо 89 176,74 176,76 176,566201 2018-11-20 18:58:00 176,77 176,87 176,56 176,65 176,571326 2018-11-20 18:59:00 176,65 177,17 176,59 176,94 176,681413 Как это сделать? Я tryied качению, GroupBy без успеха. панды 0.23.4 Python 3.6.3 Спасибо 89 176,74 176,76 176,566201 2018-11-20 18:58:00 176,77 176,87 176,56 176,65 176,571326 2018-11-20 18:59:00 176,65 177,17 176,59 176,94 176,681413 Как это сделать? Я tryied качению, GroupBy без успеха. панды 0.23.4 Python 3.6.3 Спасибо