ããã«ã¡ã¯ã
ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¹é¨ã®å
¼å®ã§ãã
仿¥ã¯ãã¼ã³ã¼ããã¼ã«ã®Retoolã®ã話ãããã¦ãã ããã
æ¬è¨äºã®å¯¾è±¡è ã«ã¤ãã¦
Retool 㯠Webã Mobile ã¢ããªã±ã¼ã·ã§ã³ãã¯ã¼ã¯ããã¼ã使ã§ãããã¼ã³ã¼ããã©ãããã©ã¼ã ã§ãã
ç´æçãªç·¨éã¤ã³ã¿ã¼ãã§ã¼ã¹ãçæ AI ã«ããéçºè£å©æ©è½ãJavaScript ã Python ã¨ãã£ãå©ç¨ã±ã¼ã¹ã®å¤ãæè¡ã¹ã¿ãã¯ãæä¾ããã¦ãã¾ãã
AWS ã Google Cloudããã®ä»ã® 3rd ãã¼ãã£ã¼ã®ãµã¼ãã¹ã¨ã®é£æºãã¹ã ã¼ãºã«è¡ããã¨ãã§ãã¾ãã
æ¬è¨äºã§ã¯ãRetoolã¨Amazon API Gatewayã§ä½æããHTTP APIã®é£æºæé ã説æãã¾ãã
Retoolã®åºæ¬çãªæä½ããAmazon API Gatewayãªã©ã®è¨å®æ¹æ³ã«ã¤ãã¦ã¯ãæ¬è¨äºã§ã¯èª¬æãã¦ãã¾ããã®ã§ããããã®ç¥èããããã¨ãåæã¨ãã¦ãã¾ãã
æ§æå³
æ¬è¨äºã§èª¬æããè¨å®ã¯ã以ä¸ã®æ§æå³ãæ³å®ãã¦ãã¾ãã

AWS LambdaãAmazon API Gatewayã§HTTP APIåãã¾ãã
Amazon API Gatewayã«ããHTTP APIã¯ãAmazon Cognitoã§èªè¨¼ãè¡ãã¾ãã
Cognitoã¯ãã¦ã¼ã¶ã¼ãã¼ã«ã使ç¨ããUSER_PASSWORD_AUTHããã¼ã使ç¨ãã¾ãã
Retoolã¯ãCognitoã§èªè¨¼ããä¸ã§ãAPI Gatewayã«ãªã¯ã¨ã¹ããè¡ãã¨ããæ§æã§ãã
Amazon API Gatewayã«ããHTTP APIã§ãAmazon Cognitoã«ããèªè¨¼è¨å®ããã¦ããã¨ã
HTTP APIã®ãªã¯ã¨ã¹ãã«ã¯ãèªè¨¼æ¸ã¿ã示ãã¢ã¯ã»ã¹ãã¼ã¯ã³ãå«ã¾ãã¦ãªãã¨ã401 Unauthorizedã®ã¨ã©ã¼ãè¿ãããããã«ãªãã¾ãã
å¾ã£ã¦ãRetoolå´ã®è¨å®ã¯ã以ä¸ã®ããã«ãªãã¾ãã
- ãªã¯ã¨ã¹ãå ã«HTTP APIãæå®ãããªã½ã¼ã¹ã使ãã
- ãªã½ã¼ã¹ã®è¨å®ã§ããªã¯ã¨ã¹ãæã«å¸¸ã«ã¢ã¯ã»ã¹ãã¼ã¯ã³ã渡ãããã«è¨å®ãã
- ãªã½ã¼ã¹ã®è¨å®ã§ãã¢ã¯ã»ã¹ãã¼ã¯ã³ã宿çã«ãªãã¬ãã·ã¥ããããã«è¨å®ãã
ã¢ã¯ã»ã¹ãã¼ã¯ã³ã¯ãä¸å®æéã§æå¹æéãåããããã宿çã«ãªãã¬ãã·ã¥ããå¿ è¦ãããã¾ãã
Amazon API Gatewayã§ãã¯ã©ã¤ã¢ã³ãIDã¨ãªãã¬ãã·ã¥ãã¼ã¯ã³ãæ§ãã
Retoolã§Amazon API Gatewayã§ä½æããHTTP APIãæä½ããããã«ã¯ãAPI Gatewayã®URLã¨ãã¯ã©ã¤ã¢ã³ãIDã¨ãªãã¬ãã·ã¥ãã¼ã¯ã³ãå¿ è¦ã«ãªãã¾ãã
ã¯ã©ã¤ã¢ã³ãID
<ã¯ã©ã¤ã¢ã³ãID>ã¯ãã¦ã¼ã¶ã¼ãã¼ã«ã®ç»é¢ã§ç¢ºèªã§ãã¾ãã
ã¦ã¼ã¶ã¼ãã¼ã«ã®è©³ç´°ç»é¢ã§ãã¢ããªã±ã¼ã·ã§ã³ã®çµ±åã¿ããã¯ãªãã¯ã

ç»é¢ãä¸ã«ã¹ã¯ãã¼ã«ããã¯ã©ã¤ã¢ã³ãã®IDã確èªãã¾ãã

ãªãã¬ãã·ã¥ãã¼ã¯ã³
ãªãã¬ãã·ã¥ãã¼ã¯ã³ãå¾ãã«ã¯ãã¦ã¼ã¶ã¼ã®ç»é²ã¨ãååã®ã¢ã¯ã»ã¹ãã¼ã¯ã³åå¾ã®ä¸é£ã®ããã»ã¹ãè¡ãå¿ è¦ãããã¾ãã
ã¦ã¼ã¶ã¼ç»é²
æ°ããã¦ã¼ã¶ã¼ãCognitoã¦ã¼ã¶ã¼ãã¼ã«ã«ç»é²ãã¾ãã
Cognitoã¦ã¼ã¶ã¼ãã¼ã«ã®ã¦ã¼ã¶ã¼ä½æã¯ãAWS CLIã®sign-up ã³ãã³ãã§å¯è½ã§ãã
aws cognito-idp sign-up \
--client-id <ã¯ã©ã¤ã¢ã³ãID> \
--username <ã¦ã¼ã¶ã¼å> \
--password <ãã¹ã¯ã¼ã> \
--user-attributes Name=email,Value=<ã¡ã¼ã«ã¢ãã¬ã¹>
aws cognito-idp sign-upã³ãã³ãå®è¡å¾ã以ä¸ã®ãããªã¬ã¹ãã³ã¹ãè¿ã£ã¦ãã¾ãã
{
"UserConfirmed": false,
"UserSub": "xxx-xxx-xxx-xxx-xxx"
}
ããã§ãã¦ã¼ã¶ã¼ã®ç»é²ãã§ãã¾ããã
ããããUserConfirmedãfalseãªã®ã§ãã¾ã æªç¢ºèªç¶æ
ãªãã¨ããããã¾ãã
ãã®ç¶æ
ã ã¨ããã¼ã¯ã³ã®åå¾ã¯ã§ãã¾ããã
ä»åã¯ãCLIã§å¼·å¶çã«ç¢ºèªç¶æ ã«ãã¾ãã
aws cognito-idp admin-confirm-sign-up \
--user-pool-id <ã¦ã¼ã¶ã¼ãã¼ã«ID> \
--username <ã¦ã¼ã¶ã¼å>
å¼·å¶çã«ç¢ºèªç¶æ ã«ããããã®ã¦ã¼ã¶ã¼ãã¼ã«IDã¯ãã¦ã¼ã¶ã¼ãã¼ã«ã®è©³ç´°ç»é¢ã§ç¢ºèªã§ãã¾ãã

ååã¢ã¯ã»ã¹ãè¡ããã¢ã¯ã»ã¹ãã¼ã¯ã³ã¨ãªãã¬ãã·ã¥ãã¼ã¯ã³ãåå¾ãã
ã¦ã¼ã¶ã¼ç»é²ã¨ç¢ºèªã®å¾ãã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ãã使ç¨ãã¦ãã¼ã¯ã³ãåå¾ãã¾ãã
ã¦ã¼ã¶ã¼ç»é²ã¨ç¢ºèªã®å¾ãã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ãã使ç¨ãã¦ãã¼ã¯ã³ãåå¾ãã¾ãã
aws cognito-idp initiate-auth \
--client-id <ã¯ã©ã¤ã¢ã³ãID> \
--auth-flow USER_PASSWORD_AUTH \
--auth-parameters USERNAME=<ã¦ã¼ã¶ã¼å>,PASSWORD=<ãã¹ã¯ã¼ã>
åå¾çµæã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
{ "ChallengeParameters": {}, "AuthenticationResult": { "AccessToken": <ã¢ã¯ã»ã¹ãã¼ã¯ã³>, "ExpiresIn": 3600, "TokenType": "Bearer", "RefreshToken": <ãªãã¬ãã·ã¥ãã¼ã¯ã³>, "IdToken": <IDãã¼ã¯ã³>, } }
åå¾çµæã®ãAccessTokenã¨RefreshTokenãæ§ãã¦ããã¾ãã
Retoolã§ãªã½ã¼ã¹ã®è¨å®ãè¡ã
ãªã½ã¼ã¹ã®ä½æ
ã¡ãã¥ã¼ã®Resourcesãã¯ãªãã¯ãã¾ãã

Create Newãã¯ãªãã¯ããResourceãã¯ãªãã¯ãã¾ãã

REST APIãã¯ãªãã¯ãã¾ãã

ãªã½ã¼ã¹ã®æ°è¦ä½æç»é¢ã表示ããã¾ãã
以ä¸ã®é
ç®ããã¤ã³ãã§ãã
| é ç®å | 説æ |
|---|---|
| Base URL | API Gatewayã®URLãè¨å®ãã¾ãã |
| Headers | 常ã«ã¢ã¯ã»ã¹ãã¼ã¯ã³ã渡ãããè¨å®ãã¾ãã |
| Authentication | Custom Authã鏿ãããªãã¬ãã·ã¥ãã¼ã¯ã³ãå©ç¨ããã¢ã¯ã»ã¹ãã¼ã¯ã³ã®åå¾ãè¨å®ãã¾ãã |
Base URL
API Gatewayã®ç»é¢ããURLãæ§ãã¦ãBase URLã«è¨å®ãã¾ãã


Headers
以ä¸ã®ããã«è¨å®ãã¾ãã

Bearer AUTHORIZATION_TOKEN
AUTHORIZATION_TOKENã¯ããã®å¾ã®æé ã§å®ç¾©ãã夿°ã§ããªã¯ã¨ã¹ãæã«ã¢ã¯ã»ã¹ãã¼ã¯ã³ã¸ç½®æããã¾ãã
Authentication
Custom Auth - API Request
Custom Authã鏿ããAPI Requestã鏿ãã¦ä»¥ä¸ã®ããã«å
¥åãã¾ãã

| é ç®å | è¨å®å¤ |
|---|---|
| Action type | POSTãhttps://cognito-idp.{ãªã¼ã¸ã§ã³}.amazonaws.com |
| Headers | Content-Typeã§ãapplication/x-amz-json-1.1 |
| Headers | X-Amz-Targetã§ãAWSCognitoIdentityProviderService.InitiateAuth |
| Body params | REFRESH_TOKENã§ãapplication/x-amz-json-1.1 |
| Body params | ClientIdã§ã{ã¯ã©ã¤ã¢ã³ãID} |
| Body params | AuthParametersã§ã{"REFRESH_TOKEN":"{ãªãã¬ãã·ã¥ãã¼ã¯ã³}"} |
ãã®è¨å®ã®åèæ å ±ã¯ãã¡ãã§ãã
æ´æ°ãã¼ã¯ã³ã使ç¨ãã¦ãã¦ã¼ã¶ã¼ãã¼ã« API ã§æ°ãã ID ãã¼ã¯ã³ãã¢ã¯ã»ã¹ãã¼ã¯ã³ãåå¾ããã«ã¯ãAdminInitiateAuth ã¾ã㯠InitiateAuth API ãªãã¬ã¼ã·ã§ã³ã使ç¨ãã¾ãã AuthFlow ãã©ã¡ã¼ã¿ã® REFRESH_TOKEN_AUTH ãæ¸¡ãã¾ãã
Custom Auth - Define a variable
ä¸è¨API Requestã§å¾ãããã¬ã¹ãã³ã¹ã®AuthenticationResult.AccessTokenããä¸è¿°ã®ãããã§ä½¿ããããã«ã夿°åãã¾ãã

Custom Auth - Auth trigger
ãã¼ã¯ã³ã®ãªãã¬ãã·ã¥ããã¿ã¤ãã¼ãã¼ã¹ã§è¡ãããã«è¨å®ãã¾ãã
Time-based expirationã鏿ãRe-runã»ã»ã»ã«æéééãè¨å®ãã¾ãã
ééã¯ãã¢ã¯ã»ã¹ãã¼ã¯ã³ã®æå¹æéãèæ
®ãã¦è¨å®ãã¾ãã

Check authenticationã»ã»ã»ãã¯ãªãã¯ããåä½ç¢ºèªãã¾ãã
Save changesãã¯ãªãã¯ããä¿åãã¦ä½æ¥ã¯çµäºã§ãã
ããã¾ã§ã®è¨å®ãçµãã£ãã
ãã®å¾ã¯ãRetoolã®ã¢ããªå´ã§ãã®ãªã½ã¼ã¹ã«å¯¾ãã¦GETã»POSTããã¯ã¨ãªãä½ãã ãã«ãªãã¾ãã
åã¯ã¨ãªã§èªè¨¼ã«é¢ããè¨å®ãè¡ãå¿
è¦ã¯ããã¾ããã
æå¾ã«
å¼ç¤¾ã®ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¹é¨ã§ã¯ Retool ã®å°å
¥ã»æ´»ç¨æ¯æ´ããæä¾å¯è½ã§ãã
ãèå³ããæã¡ã®æ¹ãããã£ãããã¾ãããããæ°è»½ã«ãç¸è«ãã ããã
å ¼å® è¡(å·çè¨äºã®ä¸è¦§)
ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¹é¨ DS3課æå±
2025 Japan AWS Top Engineers (AI/ML Data Engineer)
2025 Japan AWS All Certifications Engineers
2025 AWS Community Builders
Certified ScrumMaster
PMP
åºå³¶å¨ä½ã§ãã仿¥ãææ¥ãä¿®è¡ä¸ã§ãã
X(æ§Twitter)