Dokumentacja dla programistów

Pole danych logowania

Budowa aplikacjiAplikacje monday.com
Aktualizacja 2026-02-02

Ta funkcja zostanie wkrótce wycofana. Więcej informacji o migracji znajdziesz tutaj.

Pole credentials pozwala łatwo przechowywać i zarządzać zestawem profili w przepisie integracji. Przydaje się w wielu sytuacjach, na przykład gdy chcesz:

  • Przechowywać co najmniej jeden profil uwierzytelniania bez samodzielnego tworzenia odpowiedniej logiki
  • Bezpiecznie zarządzać danymi logowania wielu użytkowników korzystających ze wspólnego konta

Implementacja

Kreator zdań

  1. Dodaj lub otwórz funkcję Integration for sentence builder.
  2. Otwórz kartę Typy pól (Field Types).
  3. Kliknij Utwórz nowe (Create new), aby utworzyć typ pola.
  4. Wybierz Dane logowania (Credentials) jako typ pola.
  5. Dodaj zdalne opcje pola, a następnie dostosuj jego nazwę i opis.
  6. Kliknij Zapisz (Save).

monday workflows

  1. Dodaj funkcję Custom field for monday workflows.
  2. Wybierz Dane logowania jako typ schematu.
  3. Skonfiguruj zdalne opcje i zależności.
  4. Kliknij Zapisz.

Samouczek wideo - Integration for sentence builder

Obejrzyj ten film, aby dowiedzieć się, jak dodać pole danych logowania do funkcji aplikacji integracyjnej:

Pole danych logowania - ilustracja 1
Film instruktażowy

Informacje

Pole danych logowania wymaga trzech różnych adresów URL, na które wysyłane są żądania, gdy użytkownik korzysta z komponentu wyboru danych logowania w interfejsie:

  1. Adres URL danych logowania - zwraca listę danych logowania.
  2. Adres URL autoryzacji - adres przekierowania, który umożliwia dodanie nowych danych logowania.
  3. Adres URL usuwania danych logowania - usuwa określone dane logowania.

Wybrana wartość danych logowania zostanie następnie wysłana do aplikacji podczas wykonywania odpowiedniego bloku (czyli uruchomienia niestandardowej akcji lub subskrypcji wyzwalacza).

🚧 Zwracaj identyfikatory danych logowania, a nie prawdziwe tokeny API

Pole danych logowania powinno zwracać identyfikatory, a nie tokeny użytkowników. Przechowuj tokeny w zaszyfrowanym magazynie, takim jak monday secure storage, i wyszukuj je w czasie działania aplikacji na podstawie identyfikatora.

1. Adres URL danych logowania

Adres URL danych logowania to punkt końcowy, który zwraca listę danych logowania. Gdy użytkownik otworzy pole danych logowania, monday wyśle na ten adres żądanie POST z pustym treścią. Możesz dekodować nagłówek autoryzacji, aby uzyskać kontekst żądania.

NodeJS
router.post("/credentials/get", async function getCredentials(req, res) {
  return res.status(200).send([
    { title: "User 1 login", value: "abc1234" },
    { title: "User 2 login", value: "bcd2345" },
  ]);
});
Response body (JSON)
[
    {
        "title": "Dipro (Admin)",
        "value": "salesforce:"
    },
    {
        "title": "Rachel (Admin)",
        "value": "2222"
    }
]

2. Adres URL autoryzacji

Adres URL autoryzacji to adres przekierowania, który umożliwia dodanie nowych danych logowania do listy. monday przekieruje użytkownika pod ten adres, gdy kliknie Użyj innego konta (Use another account) w interfejsie.

W parametrach zapytania adresu URL znajdzie się token JWT zawierający backToUrl i shortLivedToken. Możesz użyć shortLivedToken, aby wysyłać żądania do API monday, pobierać informacje o profilu użytkownika itp. Token jest ważny tylko przez pięć minut. Użyj backToUrl, aby przekierować użytkownika na stronę konfiguracji zdania.

NodeJS
router.get("/credentials/create", async function addCredentials(req, res) {
  // verify and decode token data
  const tokenPayload = jwt.verify(
    req.query.token,
    process.env.MONDAY_SIGNING_SECRET,
  );

  // add authentication steps here (eg OAuth2, etc)
  console.log({ tokenPayload });

  // once finished, redirect to the back to URL
  return res.redirect(tokenPayload.backToUrl);
});
JWT
{
  accountId: 1800028,
  userId: 4000089,
  boardId: 6440001771,
  backToUrl:
    "https://myaccount.monday.com/boards/1111/app_automations/2222?nodeId=2&fieldKey=account",
  recipeId: 30000047,
  integrationId: "327000608",
  aud: "https://myapptunnel.apps-tunnel.monday.app/credentials/create",
  exp: 1723137005,
  shortLivedToken:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaG9ydExpdmVkIjp0cnVlLCJ1aWQiOjQwMTI2ODksImV4cCI6MTcyMzEzNzAwNSwiaWF0IjoxNzIzMTM2NzA1fQ.tYUTMOfZd72-HUYgverehC0lDs_E8P-01Gfd-yoxh-M",
  iat: 1723136705,
}

3. Adres URL usuwania danych logowania

Adres URL usuwania danych logowania to punkt końcowy, który usuwa dane logowania. monday wyśle na ten adres żądanie POST, gdy użytkownik kliknie ikonę usuwania obok wybranych danych logowania. Treść żądania będzie zawierać identyfikator danych logowania do usunięcia.

router.post("/credentials/delete", async function deleteCredentials(req, res) {
  console.log("hit");
  // extract credential ID
  const id = req.body.payload.credentialId;

  // delete the credential from DB
  const success = removeCredentialFromDatabase(id);

  // return success
  if (success) {
    return res.status(200).send();
  }
});
Request body
{
  payload: {
    credentialsId: "bcd2345";
  }
}

Przykładowe żądanie

Podczas działania integracji pole danych logowania zostanie wysłane do aplikacji jako ciąg znaków. Możesz go użyć, aby wyszukać odpowiednie dane logowania w bazie danych.

{
  "payload": {
    "blockKind": "action",
    "credentialsValues": {},
    "inboundFieldValues": {
      "login": "abc1234"
    },
    "inputFields": {
      "login": "abc1234"
    },
    "recipeId": 629186,
    "integrationId": 398515811
  },
  "runtimeMetadata": {
    "actionUuid": "6b68c693284f082e506361b1b5430955",
    "triggerUuid": "176d9c746aac92c59cce735b949daec5"
  }
}