Как хранить пользовательские данные пользователя в Netlify Identity? - PullRequest
0 голосов
/ 05 сентября 2018

Я использую Netlify для хранения 100% своего приложения (как внешнего, так и внутреннего) в течение последних трех месяцев. Пока все хорошо.

Единственная проблема сейчас заключается в том, что мне нужно хранить пользовательское свойство для каждого пользователя (скажем, номер телефона), и, очевидно, Netlify Identity не поддерживает это (только электронная почта, имя и роли https://www.netlify.com/docs/identity/).

Я не хочу менять целое приложение для перехода на другого хостинг-провайдера только для этой детали (на самом деле, я не могу, это для клиента, и у меня просто нет времени), потому что оно прекрасно работает, но в то же время мне это нужно.

Можете ли вы найти какой-нибудь обходной путь к этому? Чем менее «хакерски», тем лучше, но я понимаю, что я иду за пределы предполагаемого использования Netlify Identity.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Так что на самом деле похоже, что GoTrue API Netlify имеет конкретную конечную точку для обновления пользовательских данных пользователя. После создания пользователя вы можете обновить метаданные, включив их в качестве «данных» в аутентифицированный запрос PUT в /user.

.

PUT / пользователь

{
  "data" {
    "custom_key": "value",
  }
}

Подробнее см. https://github.com/netlify/gotrue.

0 голосов
/ 05 сентября 2018

Есть десятки способов сделать это, поэтому сейчас я расскажу о двух общепринятых способах:

  • наиболее «в целом способный», вероятно, использует лямбда-функции: https://www.netlify.com/docs/functions. Это позволяет запускать динамический код, такой как «хранить в базе данных, размещенной в другом месте» или «отправлять электронное письмо нашему офис-менеджеру, чтобы обновить электронную таблицу», или даже «фиксировать наше закрытое git-репо, чтобы оно было доступно в коде» (последний, вероятно, худшая практика, но это возможно). Вы также можете использовать функцию для считывания этих данных без предоставления токенов API (пример кода: https://github.com/netlify/code-examples/tree/master/function_examples/token-hider)

  • вы можете получить данные, собранные посредством отправки формы (https://www.netlify.com/docs/form-handling). Я бы, вероятно, использовал zapier.com для получения уведомления о отправке формы (https://www.netlify.com/docs/form-handling/#notifications). Конечно, Zapier может) подключиться практически ко всему на планете :). Получить данные обратно, если вы хотите отобразить их в своем пользовательском интерфейсе, немного сложнее, но вы можете использовать вышеупомянутые функции, если вам нужно подключиться к некоторым личным данным магазин, чтобы вытащить его. Или для MVP, просто не показывать его, только позволить людям войти / обновить его;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...