เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟเดธเต†เตผเดตเตผ4. เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเด™เตเด•เตฝเดชเด™เตเด™เตพ. OpenID เด•เดฃเด•เตเดŸเต, OAuth 2.0, JWT

เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ IdentityServer4-เดจเต เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฒเต‡เด–เดจเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดคเตเดฐเต†เดกเต เดคเตเดฑเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดŸเดฟเดธเตเดฅเดพเดจ เด†เดถเดฏเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚.

เดจเดฟเดฒเดตเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดคเต€เด•เตเดท เดจเตฝเด•เตเดจเตเดจ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด†เดฃเต เด“เดชเตเดชเตบเดเดกเดฟ เด•เดฃเด•เตเดฑเตเดฑเต, เด•เต‚เดŸเดพเดคเต† เด…เด‚เด—เต€เด•เดพเดฐ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ (เด†เด•เตเดธเดธเต เดจเตฝเด•เตเดจเตเดจเดคเต) เด†เดฃเต OAuth 2.0. เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟเดธเต†เตผเดตเตผ4 เดˆ เดฐเดฃเตเดŸเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เดณเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดธเตเดฐเด•เตเดท.

เด“เดชเตเดชเตบเดเดกเดฟ เด•เดฃเด•เตเดฑเตเดฑเต เด’เดฐเต เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด‚ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเตเด‚ เด†เดฃเต, เด‡เดคเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต (เดตเต†เดฌเต API) เดชเตเดฐเดตเต‡เดถเดจเด‚ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดฎเตเดคเตฝ เด…เด‚เด—เต€เด•เดพเดฐ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเต เดฎเตเด•เดณเดฟเดฒเดพเดฃเต เด‡เดคเต เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต OAuth 2.0, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฑเดฟเดธเต‹เดดเตเดธเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตเดธเดธเต เด‰เดณเตเดณเดคเตเดชเต‹เดฒเต† เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดชเตเดฐเตŠเดซเตˆเตฝ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดฒเดญเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต เดฏเต‚เดธเตผเด‡เตปเดซเต‹.

เดœเต†.เดกเดฌเตเดฒเตเดฏเต.เดŸเดฟ (JSON เดตเต†เดฌเต เดŸเต‹เด•เตเด•เตบ) เด’เดฐเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดกเดพเดฑเตเดฑ JSON เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เด‚ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดตเต†เดฌเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดพเดฃเต.

OAuth 2.0 (RFC 6749) เด’เดฐเต เด…เด‚เด—เต€เด•เดพเดฐ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด‚ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเตเดฎเดพเดฃเต. เดตเต†เดฌเต API-เด•เตพ เดชเต‹เดฒเตเดณเตเดณ เดธเด‚เดฐเด•เตเดทเดฟเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด‡เดคเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดธเด‚เดฐเด•เตเดทเดฟเดค เด‰เดฑเดตเดฟเดŸเด‚ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเดฏเด—เตเดฐเด‚ เดจเต‹เด•เตเด•เดพเด‚, เดชเตเดฐเดงเดพเดจ เด˜เดŸเตเดŸเด™เตเด™เดณเตเด‚ เด…เด‚เด—เต€เด•เตƒเดค เดชเดฆเดพเดตเดฒเดฟเดฏเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเด‚:

เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟเดธเต†เตผเดตเตผ4. เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเด™เตเด•เตฝเดชเด™เตเด™เตพ. OpenID เด•เดฃเด•เตเดŸเต, OAuth 2.0, JWT

  1. เด•เตเดฒเดฏเดจเตเดฑเต เด…เดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเดฟเตฝ เด†เดงเดฟเด•เดพเดฐเดฟเด•เดค เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดจเตเดฎเดคเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดชเดญเต‹เด•เตเดคเดพเดตเต เดฑเดฟเดธเต‹เดดเตเดธเต เด‰เดŸเดฎเดฏเตเดŸเต† เดชเต‡เดฐเดฟเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดพเดฃเต. เดตเดฟเดญเดตเด‚ - เด‡เดตเดฏเต†เดฒเตเดฒเดพเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดฐเด•เตเดทเดฟเดค เดธเต‡เดตเดจเด™เตเด™เดณเดพเดฃเต เดตเต†เดฌเต API.

  2. เด‰เดชเดญเต‹เด•เตเดคเดพเดตเต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เดคเดจเตเดฑเต† เดชเต‡เดฐเดฟเตฝ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดฒเต‹เด—เดฟเตป, เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดŽเดจเตเดจเดฟเดต เดจเตฝเด•เดฟ. เดฒเต‹เด—เดฟเดจเตเด‚ เดชเดพเดธเตโ€Œเดตเต‡เดกเตเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด’เดฐเต เด…เด‚เด—เต€เด•เดพเดฐ เด—เตเดฐเดพเดจเตเดฑเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต (เดตเดฟเดญเดต เด‰เดŸเดฎ) โ€” เด’เดฐเต เดฒเต‹เด—เดฟเตป (เด‰เดชเดฏเต‹เด•เตเดคเตƒเดจเดพเดฎเด‚), เดชเดพเดธเตเดตเต‡เดกเต (เดชเดพเดธเตเดตเต‡เดกเต) เดŽเดจเตเดจเดฟเดต เดจเตฝเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต, เดธเด‚เดฐเด•เตเดทเดฟเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเตเดฏเด•เตเดคเดฟ;

  3. เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด’เดฐเต เด†เด•เตเดธเดธเต เดŸเต‹เด•เตเด•เตบ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเต IdentityServer4 เดจเดฟเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต (client_id, client_secret), เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เด‚เด—เต€เด•เดพเดฐ เด…เดจเตเดฎเดคเดฟ เดจเตฝเด•เตเดจเตเดจเต (username, password) เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต grant_type ะธ scope. เดคเตเดŸเตผเดจเตเดจเต เด…เด‚เด—เต€เด•เตƒเดค เดธเต†เตผเดตเตผ เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเตเดฑเต† เด†เดงเดฟเด•เดพเดฐเดฟเด•เดคเดฏเตเด‚ เด‰เดฑเดตเดฟเดŸ เด‰เดŸเดฎเดฏเตเดŸเต† เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเด‚ (เดฒเต‹เด—เดฟเตป, เดชเดพเดธเตโ€Œเดตเต‡เดกเต) เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต.

    OAuth 2.0 เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต†เดฏเตเด‚ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด…เดคเตเดคเดฐเด‚ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต client_id ะธ เด•เตเดฒเดฏเดจเตเดฑเต_เดฐเดนเดธเตเดฏเด‚.
    client_id เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เด†เดฃเต IdentityServer4 เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดคเดฟเดฐเดฏเดพเตป.
    เด•เตเดฒเดฏเดจเตเดฑเต_เดฐเดนเดธเตเดฏเด‚ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดชเดพเดธเตโ€Œเดตเต‡เดกเดฟเดจเต‹เดŸเต เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเต เด•เต‚เดŸเดพเดคเต† เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เด†เดงเดฟเด•เดพเดฐเดฟเด•เดฎเดพเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต IdentityServer4. เด•เตเดฒเดฏเดจเตเดฑเต เดฐเดนเดธเตเดฏเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ API เดจเตเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดฑเดฟเดฏเดพเดตเต‚. เดฎเต‡เตฝเดชเตเดชเดฑเดžเตเดžเดตเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เดžเด™เตเด™เตพ เด…เดคเต เดจเดฟเด—เดฎเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต IdentityServer4-เดจเต เด…เดคเดฟเดจเตเดฑเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเต† เด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

  4. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เดงเดฟเด•เดพเดฐเดฟเด•เดคเดฏเตเดณเตเดณเดคเตเด‚ เด…เด‚เด—เต€เด•เดพเดฐ เด…เดจเตเดฎเดคเดฟ เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเตเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, IdentiryServer4 เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต access-ั‚ะพะบะตะฝ (เด†เด•เตเดธเดธเต เดŸเต‹เด•เตเด•เตบ) เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ เด’เดฐเต เด“เดชเตเดทเดฃเตฝ เดฑเดฟเดซเตเดฐเดทเต เด•เต€เดฏเตเด‚ (refresh-ั‚ะพะบะตะฝ). เด…เด‚เด—เต€เด•เดพเดฐ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดฟ. เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดธเดพเดงเตเดตเต‹ เด…เดจเดงเดฟเด•เตƒเดคเดฎเต‹ เด†เดฃเต†เด™เตเด•เดฟเตฝ, เด…เด‚เด—เต€เด•เตƒเดค เดธเต†เตผเดตเตผ เด‰เดšเดฟเดคเดฎเดพเดฏ เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเดฎเตเดณเตเดณ เด’เดฐเต เด•เต‹เดกเต เดจเตฝเด•เตเดจเตเดจเต.

  5. เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดกเดพเดฑเตเดฑเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เดธเตเดฐเด•เตเดทเดฟเดค เดตเต†เดฌเต API เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เด‚เด—เต€เด•เดพเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เด†เด•เตโ€Œเดธเดธเต เดŸเต‹เด•เตเด•เตบ เดจเตฝเด•เตเดจเตเดจเต. เดฑเดฟเดธเต‹เดดเตเดธเต เดธเต†เตผเดตเตผ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เด•เต‹เดกเต เด†เดฃเต†เด™เตเด•เดฟเตฝ 401, 403 เด…เดฅเดตเดพ 498, เดคเตเดŸเตผเดจเตเดจเต เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด†เด•เตเดธเดธเต เดŸเต‹เด•เตเด•เตบ เด…เดธเดพเดงเตเดตเดพเดฃเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต.

  6. เดŸเต‹เด•เตเด•เตบ เดธเดพเดงเตเดตเดพเดฃเต†เด™เตเด•เดฟเตฝ, Web API เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เดจเตฝเด•เตเดจเตเดจเต.

เดŸเต‹เด•เตเด•เดฃเตเด•เดณเตเดŸเต† เดคเดฐเด™เตเด™เตพ

เตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเต IdentityServer4 เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดพเดฆเดฎเตเดฃเตเดŸเต IdentityServer4 identity- เดŸเต‹เด•เตเด•เตบ, access- เดŸเต‹เด•เตเด•เตบ เด’เดชเตเดชเด‚ refresh- เดŸเต‹เด•เตเด•เตบ.

  • เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟ เดŸเต‹เด•เตเด•เตบ (เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตฝ เดŸเต‹เด•เตเด•เตบ) - เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเดŸเต† เดซเดฒเด‚. เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดเดกเดฟเดฏเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† เดŽเด™เตเด™เดจเต†, เดŽเดชเตเดชเต‹เตพ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดกเดพเดฑเตเดฑ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.
  • เดชเตเดฐเดตเต‡เดถเดจ เดŸเต‹เด•เตเด•เตบ โ€” เด’เดฐเต เดธเด‚เดฐเด•เตเดทเดฟเดค API-เดฏเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดกเดพเดฑเตเดฑเดฏเดฟเดฒเต‡เด•เตเด•เต เด…เด‚เด—เต€เด•เดพเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต (เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚) เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.
  • เดชเตเดคเตเด•เตเด•เตฝ-เดŸเต‹เด•เตเด•เตบ (เดชเตเดคเตเด•เตเด•เตเด• เดŸเต‹เด•เตเด•เตบ) เด’เดฐเต เด†เด•เตเดธเดธเต เดŸเต‹เด•เตเด•เตบ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด•เตเด•เตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดพเดฐ เดธเต†เตผเดตเดฑเดฟเดจเต เดจเตฝเด•เดพเดจเดพเด•เตเดจเตเดจ เด’เดฐเต เด“เดชเตเดทเดฃเตฝ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฃเต.

เดจเดฎเตเด•เตเด•เต เดฐเดฃเตเดŸเต เด†เดถเดฏเด™เตเด™เตพ เด•เต‚เดŸเดฟ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚:

เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดธเต†เตผเดตเตผ เดฏเตเด†เตผเดŽเตฝ - เด’เดฐเต เด†เด•เตเดธเดธเต เด•เต€ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเต. เด†เด•เตโ€Œเดธเดธเต เด•เต€เด•เดณเตเดŸเต† เดชเตเดฐเตŠเดตเดฟเดทเดจเตเด‚ เดชเตเดคเตเด•เตเด•เดฒเดฟเดจเตเดฎเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดžเด™เตเด™เตพ เดˆ URL-เดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเด‚.

เดฑเดฟเดธเต‹เดดเตเดธเต เดฏเตเด†เตผเดŽเตฝ โ€” เดธเด‚เดฐเด•เตเดทเดฟเดค เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเดจเตเดฑเต† URL, เด…เดคเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตเดธเดธเต เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเต เดฌเดจเตเดงเดชเตเดชเต†เดŸเต‡เดฃเตเดŸเดคเดพเดฃเต, เด…เดคเต เด…เด‚เด—เต€เด•เดพเดฐ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดฒเต† เด†เด•เตเดธเดธเต เด•เต€ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต.

เด•เต€ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเด•

เด’เดฐเต เด†เด•เตเดธเดธเต เด•เต€ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เดพเตป, เด•เตเดฒเดฏเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต POST เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเด• IdentityServer4 เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตŠเดชเตเดชเด‚

'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'Expect': '100-continue'

เด•เต‚เดŸเดพเดคเต† เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต:

'grant_type' : 'password',
'username' : login,
'password' : password,
'scope' : 'scope',
'client_id' : 'client_id',
'client_secret' : '{client_secret}'

username, password, client_id ะธ client_secret เดฎเตเด•เดณเดฟเตฝ เดšเตผเดšเตเดš เดšเต†เดฏเตเดคเต. เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดจเต‹เด•เตเด•เดพเด‚:

เด—เตเดฐเดพเดจเตเดฑเต_เดคเดฐเด‚ - เด—เตเดฐเดพเดจเตเดฑเต เดคเดฐเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เด‚เด—เต€เด•เดพเดฐ เดคเดฐเด‚. เด…เด‚เด—เต€เด•เดพเดฐ เด…เดจเตเดฎเดคเดฟเดฏเตเดŸเต† เดคเดฐเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด…เด‚เด—เต€เด•เดพเดฐ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฐเต€เดคเดฟเดฏเต†เดฏเตเด‚ API เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เด…เดจเตเดฎเดคเดฟ เดคเดฐเด™เตเด™เดณเต†เดฏเตเด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด…เดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต password, เด‡เดคเต เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเดพเดฃเต OAuth 2.0 เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เด‰เดŸเดฎเดฏเตเดŸเต† เด†เด•เตโ€Œเดธเดธเตเดธเต เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเดŸเต† เด—เตเดฐเดพเดจเตเดฑเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต (เดฒเต‹เด—เดฟเตป, เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดŽเดจเตเดจเดฟเดต เดตเดดเดฟเดฏเตเดณเตเดณ เด…เด‚เด—เต€เด•เดพเดฐเด‚).

เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เต‹เตพ OAuth 2.0 เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด—เตเดฐเดพเดจเตเดฑเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เดจเดฟเตผเดฌเดจเตเดงเดฟเดค เด‡เดŸเดชเต†เดŸเตฝ:

  • เด…เด‚เด—เต€เด•เดพเดฐ เด•เต‹เดกเต. เด‡เดคเต เดเดฑเตเดฑเดตเตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เด…เด‚เด—เต€เด•เดพเดฐ เด…เดจเตเดฎเดคเดฟเด•เดณเดฟเตฝ เด’เดจเตเดจเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเต‹เดดเตเดธเต เด•เต‹เดกเตเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เดฐเดนเดธเตเดฏเดตเตเด‚ เดชเตเดฑเดคเตเดคเตเดจเดฟเดจเตเดจเตเดณเตเดณเดตเตผเด•เตเด•เต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดธเต†เตผเดตเตผ เดธเตˆเดกเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต;
  • เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏเดฟ. เด•เตเดฒเดฏเดจเตเดฑเต เดฐเดนเดธเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดนเดธเตเดฏเดธเตเดตเดญเดพเดตเด‚ เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดฎเตŠเดฌเตˆเตฝ, เดตเต†เดฌเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏ เด…เด‚เด—เต€เด•เดพเดฐ เด…เดจเตเดฎเดคเดฟ เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต;

เด’เดชเตเดชเด‚ เด—เตเดฐเดพเดจเตเดฑเตเด•เดณเตเดŸเต† เดคเดฐเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด‡เดŸเดชเต†เดŸเตฝ เด•เต‚เดŸเดพเดคเต† เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:

  • เดตเดฟเดญเดต เด‰เดŸเดฎเดฏเตเดŸเต† เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ. เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดฟเดถเตเดตเดพเดธเดฏเต‹เด—เตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด…เดจเตเดฎเดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเต‚. เดฎเดฑเตเดฑเต เด“เดชเตเดทเดจเตเด•เดณเตŠเดจเตเดจเตเด‚ เดฒเดญเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดคเดชเตเดชเต‹เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดˆ เด…เดจเตเดฎเดคเดฟ เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเต‚. เดคเด™เตเด™เดณเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด•เตเดฐเต†เดกเตปเดทเตเดฏเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณ เด•เต‹เตผเดชเตเดชเดฑเต‡เดฑเตเดฑเต เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เดˆ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด…เดจเตเดฎเดคเดฟ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต. OAuth 2.0.
  • เด•เตเดฒเดฏเดจเตเดฑเต เด•เตเดฐเต†เดกเตปเดทเตเดฏเดฒเตเด•เตพ. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป API เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต เดธเตเดตเดจเตเดคเด‚ เดธเต‡เดตเดจ เดฐเดœเดฟเดธเตเดŸเตเดฐเต‡เดทเตป เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเต‹ URI เดฑเต€เดกเดฏเดฑเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเต‡เดตเดจ API เดตเดดเดฟ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดธเต‡เดตเดจ เด…เด•เตเด•เต—เดฃเตเดŸเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเดฑเตเดฑเต เดตเดฟเดตเดฐเด™เตเด™เตพ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเดจเต‹ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดชเตเดชเต†เดŸเตเดฎเตเดชเต‹เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚.

เดธเตเด•เต‹เดชเตเดชเต - เด‡เดคเตŠเดฐเต เด“เดชเตเดทเดฃเตฝ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฃเต. เด‡เดคเต เดตเตเดฏเดพเดชเตเดคเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต. เดธเต†เตผเดตเตผ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เด†เด•เตโ€Œเดธเดธเต เดŸเต‹เด•เตเด•เตบ เด† เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เดตเดฐเตเดจเตเดจ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เด†เด•เตโ€Œเดธเดธเต เดจเตฝเด•เต‚. เด†. เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดธเต‡เดตเดจเด™เตเด™เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เดˆ เดธเตเด•เต‹เดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด†เด•เตเดธเดธเต เด•เต€ เดฒเดญเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดŽเดฒเตเดฒเดพ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เด…เดฏเดพเตพเด•เตเด•เต เด†เด•เตเดธเดธเต เดฒเดญเดฟเด•เตเด•เตเด‚. เด…เด‚เด—เต€เด•เดพเดฐ เด…เดตเด•เดพเดถเด™เตเด™เตพ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเด‚ เดธเตเด•เต‹เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดพเดฏเดฟเด•เตเด•เดพเดจเต‹ เดŽเดดเตเดคเดพเดจเต‹ เด‰เดณเตเดณ เด†เด•เตเดธเดธเต)

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster