èªèšŒã®æªæ¥ã 仿¥
ææ°ã¢ããªã±ãŒã·ã§ã³åãã®ãšã³ã¿ãŒãã©ã€ãºã°ã¬ãŒãã®èªèšŒãšãŠãŒã¶ãŒç®¡çãéçºã¹ããŒãã®åäžãæ¡åŒµæ§ã®åäžããããŠã»ãã¥ãªãã£ã®ç¶æãå®çŸããŸãã
ã¯ã¬ãžããã«ãŒãäžèŠ â¢ æéã¢ã¯ãã£ããŠãŒã¶ãŒæ°10,000人ãŸã§æ°žä¹ ç¡æ
éçºè ããä¿¡é ŒãããŠãã
ããªããæ§ç¯ãããã®ã«åãããŠèšèš
æè»ãªèªèšŒãšã»ãã¥ãªãã£ããªããã£ãããããã¯ãã«é©å¿ããŸãããã®éã§ã¯ãããŸããã
èªèšŒ
ææ°ã®ã¢ããªã±ãŒã·ã§ã³åãã«ãå®å šã§æè»ãªãŠãŒã¶ãŒèªèšŒãæäŸããŸãã
01
ã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒ
OpenID ConnectïŒOIDCïŒã«ããã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒã§ãã°ã€ã³ããã»ã¹ãç°¡çŽ åãè€æ°ã®ã¢ããªéã§å®å šãªã¢ã¯ã»ã¹ãã·ãŒã ã¬ã¹ã«ç®¡çã§ããŸãã
02
ãœãŒã·ã£ã«ãã°ã€ã³
ãŠãŒã¶ãŒãGoogleãGitHubããã®ä»ã®äººæ°ãããã€ããŒã§èªèšŒã§ããããã«ããããšã§ããªã³ããŒãã£ã³ã°ãè¿ éåããŸãã
03
å€èŠçŽ èªèšŒ
TOTPãSMSãã¡ãŒã«èªèšŒãªã©ã®å€èŠçŽ èªèšŒïŒMFAïŒããµããŒãããããšã§ãã»ãã¥ãªãã£ãããã«åŒ·åã§ããŸãã
å¿ èŠãªãã®ããã¹ãŠæã£ãŠããŸã
9ã€ã®æ©èœã远å ãªãã·ã§ã³äžèŠã忥ããå®å šãªã¢ã€ãã³ãã£ãã£ãæäŸã
ã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒ
OpenID ConnectïŒOIDCïŒã«ããã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒã§ãã°ã€ã³ããã»ã¹ãç°¡çŽ åãè€æ°ã®ã¢ããªéã§å®å šãªã¢ã¯ã»ã¹ãã·ãŒã ã¬ã¹ã«ç®¡çã§ããŸãããœãŒã·ã£ã«ãã°ã€ã³
ãŠãŒã¶ãŒãGoogleãGitHubããã®ä»ã®äººæ°ãããã€ããŒã§èªèšŒã§ããããã«ããããšã§ããªã³ããŒãã£ã³ã°ãè¿ éåããŸããå€èŠçŽ èªèšŒ
TOTPãSMSãã¡ãŒã«èªèšŒãªã©ã®å€èŠçŽ èªèšŒïŒMFAïŒããµããŒãããããšã§ãã»ãã¥ãªãã£ãããã«åŒ·åã§ããŸããå®å šãªã»ãã·ã§ã³
æ¥çæšæºã®æå·åæè¡ãçšããŠããŠãŒã¶ãŒã®ãã°ã€ã³ç¶æ ãå®å šã«ä¿ã€ã¯ãããŒããŒã¹ã®èªèšŒãããŒã¿ä¿è·
PostgreSQLãåºç€ãšããã¹ãã¬ãŒãžã¯ããŠãŒã¶ãŒããŒã¿ã®å®å šæ§ãæ¡åŒµæ§ããããŠå°æ¥ã®æé·ãžã®å¯Ÿå¿åãä¿èšŒããŸããæ³ä»€éµå®æºåå®äº
GDPRãSOC 2ããã®ä»ã®ã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ãæºããããã«æ§ç¯ãããŠãããç£æ»ãã°ãšããŒã¿ç®¡çæ©èœãåããŠããŸããè¶ é«éããã©ãŒãã³ã¹
Redisãåºç€ãšããã»ãã·ã§ã³ç®¡çã¯ãæ°çŸäžäººã®ãŠãŒã¶ãŒãæ±ããå Žåã§ããé«éæ§ãšæ¡åŒµæ§ãå®çŸããŸããç¡æã¹ã¿ãŒããç§ãã¡ãšå ±ã«æé·ããŸãããã
åæè²»çšãå¥çŽçŸ©åãªãã§ããµãŒãã¹ãéå§ã»æ¡å€§ããã®ã«æé©ãªãå å®ããç¡æãã©ã³ããçšæããŠããŸãããšã³ã¿ãŒãã©ã€ãºå¯Ÿå¿
ã客æ§ã®ããžãã¹ã®æé·ã«åãããŠèšèšãããŠãããé«è² è·ç°å¢ã«ãããŠãé«ãä¿¡é Œæ§ãšããã©ãŒãã³ã¹ãæäŸããŸããã䜿ãã®ã¹ã¿ãã¯ã«åãããŠæ§ç¯ãããŠããŸã
人æ°ãã¬ãŒã ã¯ãŒã¯åãã®ãã€ãã£ãSDKãå æ¬çãªããã¥ã¡ã³ããšã³ãŒãäŸã§ãããã«äœ¿ãå§ããããŸãã
æ°åã§çµ±å
ãããæ°è¡ã®ã³ãŒãã§ãã¢ããªã«å®å šãªèªèšŒæ©èœã远å ã§ããŸããåœç€Ÿã®SDKãè€éãªåŠçããã¹ãŠæ ããããã客æ§ã¯æ©èœéçºã«éäžã§ããŸãã
- ããããã€ã³èªèšŒã³ã³ããŒãã³ã
- äºåã«æ§ç¯ããããã°ã€ã³ããã³ãµã€ã³ã¢ãããããŒ
- èªåããŒã¯ã³ç®¡ç
- ã»ãã·ã§ã³ã®åŠçãšæŽæ°
- åå®å šãªTypeScriptãµããŒã
- å æ¬çãªãšã©ãŒåŠç
import { AuthProvider, useLogin, useAuth, useLogout } from 'authsafe-react';
function App() {
return (
<AuthProvider
config={{
clientId: 'your-client-id',
redirectUri: 'http://localhost:3000/callback',
scope: ['openid', 'profile', 'email'],
env: 'production',
}}
>
<YourApp />
</AuthProvider>
);
}
function LoginButton() {
const { signinRedirect, isLoading } = useLogin();
return (
<button onClick={() => signinRedirect()} disabled={isLoading}>
{isLoading ? 'Logging in...' : 'Login with AuthSafe'}
</button>
);
}
function UserProfile() {
const { user, isAuthenticated } = useAuth();
const { logout } = useLogout();
if (!isAuthenticated) {
return <LoginButton />;
}
return (
<div>
<h2>Welcome, {user?.name || user?.email}</h2>
<button onClick={() => logout()}>Logout</button>
</div>
);
}ãããå§ããŸãããïŒ
AuthSafeã䜿ã£ãŠå®å šãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŠããäœå人ãã®éçºè ã®ä»²éå ¥ããããŸããããä»ããå å®ããç¡æãã©ã³ãã詊ããã ããã
éçºè ã«æãããŠãã
AuthSafeã«ã€ããŠéçºè ãã¡ãäœãšèšã£ãŠãããèŠãŠã¿ãŸããã
âAuthSafeã®ãããã§ãèªèšŒæ©èœãæ°é±éã§ã¯ãªãæ°æéã§å®è£ ããããšãã§ããŸãããéçºè ãšã¯ã¹ããªãšã³ã¹ã¯æçŸ€ã§ããâ
ãµã©ã»ãã§ã³
æé«æè¡è²¬ä»»è ïŒCTOïŒ - ã¯ã©ãŠãããŒã¹
âç§ãã¡ã¯é±æ«ã®ãã¡ã«ãåŸæ¥ã®èªèšŒã·ã¹ãã ããAuthSafeãžã®ç§»è¡ãå®äºããŸãããããã¥ã¡ã³ããšSDKã®ãããã§ãã¹ã ãŒãºã«ç§»è¡ã§ããŸãããâ
ãã€ã±ã«ã»ãããªã²ã¹
ãªãŒããšã³ãžã㢠- DevFlow
âã»ãã¥ãªãã£æ©èœã¯ãšã³ã¿ãŒãã©ã€ãºã°ã¬ãŒãã§ãããªãããã¹ã¿ãŒãã¢ããäŒæ¥ã§ããåœç€Ÿã«ãåå察å¿ã§ããã»ã©ã·ã³ãã«ã§ããAuthSafeã¯åœç€Ÿã®æé·ã«åãããŠæ¡åŒµå¯èœã§ããâ
ããªã€ã»ã·ã£ã«ã
嵿¥è å ŒCEO - SecureApp
ãããã質å
AuthSafeã«é¢ããããããæ å ±ãã玹ä»ããŸãããæ¢ãã®æ å ±ãèŠã€ãããªãå Žåã¯ããµããŒãããŒã ãŸã§ãåãåãããã ããã
AuthSafeã¯ãå®å šãªèªèšŒãèªå¯ãããã³SSOãå®çŸãããéçºè 第äžã®ã¢ã€ãã³ãã£ãã£ç®¡çãã©ãããã©ãŒã ã§ãã
AuthSafeã¯ãæè»æ§ãã»ãã¥ãªãã£ãã«ã¹ã¿ãã€ãºæ§ãæäŸããªããã峿 Œãªã¯ãŒã¯ãããŒã«çžãããããšããããŸããã
ã¯ããAuthSafeã¯åœç€Ÿã®APIãšSDKã䜿çšããããšã§ãæ°èŠãŸãã¯æ¢åã®ã¢ããªã±ãŒã·ã§ã³ãšç°¡åã«çµ±åã§ããŸãã
AuthSafeã¯OAuth2ãšOIDCããµããŒãããå®å šãªã»ãã·ã§ã³ããŒã¹ã®èªèšŒããã³èªå¯ã¯ãŒã¯ãããŒãæäŸããŸããæ¢åã®ã¢ããªã±ãŒã·ã§ã³ãšã·ãŒã ã¬ã¹ã«çµ±åã§ããããã«èšèšãããŠããããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã»ãã¥ãªãã£ãå®çŸããŸãã
AuthSafeã¯ãOAuth2ããã³OpenID Connectãä»ãããã¹ã¯ãŒããã°ã€ã³ããœãŒã·ã£ã«ãã°ã€ã³ãMFAãSSOããµããŒãããŠããŸãã
ã¯ããAuthSafeã¯ã¹ã¿ãŒãã¢ããäŒæ¥ãäžå°äŒæ¥ããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿå¿ã§ããæ¡åŒµæ§ãåããŠããŸãã
ã¯ãããã¹ã¯ãŒãã¯ããã·ã¥åãããæ¥çæšæºã®æå·åæè¡ã䜿çšããŠå®å šã«ä¿åãããŸãã
ã¯ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ããã©ã³ãã«åãããŠå®å šã«ã«ã¹ã¿ãã€ãºã§ããŸãã
AuthSafeã¯ããã现ããªæš©é管çã®ããã®ãã«ã¹ã¿ãã€ãºå¯èœãªããŒã«ããŒã¹ã®ã¢ã¯ã»ã¹å¶åŸ¡ãæäŸããŸãã
ã¯ããAuthSafeã¯OpenID Connectããã³OAuth2èŠæ Œã䜿çšããSSOããµããŒãããŠããŸãã
ãµã€ã³ã¢ããããŠãããã¥ã¡ã³ãã®æé ã«åŸã£ãŠãAuthSafeãã¢ããªã«çµ±åããŠãã ããã