Обеспечение защиты API-вызовов Firestore от облачных функций Google [дубликат]

Любой родитель, который существует в момент привязки события, и если ваша страница динамически создавала элементы с помощью кнопки имени класса, вы привязывали бы событие к родительскому, который уже существует

$(document).ready(function(){
  //Particular Parent chield click
  $(".buttons").on("click","button",function(){
    alert("Clicked");
  });  
  
  //Dynamic event bind on button class  
  $(document).on("click",".button",function(){
    alert("Dymamic Clicked");
  });
  $("input").addClass("button");  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="buttons">
  <input type="button" value="1">
  <button>2</button>
  <input type="text">
  <button>3</button>  
  <input type="button" value="5">  
  </div>
<button>6</button>

42
задан Doug Stevenson 31 March 2017 в 03:52
поделиться

3 ответа

Существует официальный образец кода для того, что вы пытаетесь сделать. Это иллюстрирует то, как настроить вашу функцию HTTPS, чтобы потребовать заголовок авторизации с маркером, который клиент получил во время аутентификации. Функция использует библиотеку firebase-admin для проверки токена.

Кроме того, вы можете использовать « вызываемые функции », чтобы сделать много этого шаблона проще, если ваше приложение способно для использования клиентских библиотек Firebase.

45
ответ дан Doug Stevenson 17 August 2018 в 16:20
поделиться
  • 1
    Этот образец кода по-прежнему действителен? Разве это еще так, как вы бы сказали сегодня? – Gal Bracha 31 October 2017 в 01:04
  • 2
    @GalBracha Он все равно должен быть действительным сегодня (31 октября 2017 года). – Doug Stevenson 31 October 2017 в 07:05
  • 3
    @DougStevenson будут ли эти вызовы console.log иметь какое-либо «заметное» влияние на производительность? – Sanka Darshana 1 December 2017 в 05:06

Средство Auth в TypeScript:

export async function authCheck(request: Request, responce: Response, next: Function) {
    try {
        // https://firebase.google.com/docs/reference/admin/node/admin.auth.DecodedIdToken
        const idToken = request.header('FIREBASE_AUTH_TOKEN');
        await authService.verifyIdToken(idToken);
    } catch (error) {
        next(error);
        return;
    }
    next();
}

Затем в дополнительных функциях down вы можете вызвать admin.auth().verifyIdToken(request.tokenId). Однако вам нужно привязать tokenId к объекту запроса.

0
ответ дан Oliver Dixon 17 August 2018 в 16:20
поделиться
39
ответ дан Will 17 August 2018 в 16:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: