AWS Cognito သည်တီထွင်သူများအားအသုံးပြုသူစီမံခန့်ခွဲမှုနှင့်၎င်းတို့၏လျှောက်လွှာများ၏အသုံးပြုသူစီမံခန့်ခွဲမှုနှင့်စစ်မှန်ကြောင်းအတည်ပြုနိုင်စွမ်းကိုအလွယ်တကူအကောင်အထည်ဖော်ရန်ကူညီပေးသောအစွမ်းထက်သောစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်ဝန်ဆောင်မှုဖြစ်သည်။ ဤဆောင်းပါးတွင် AWS Cognito ကို အသုံးပြု. လုံခြုံရေးစစ်ဆေးမှုကိုအကောင်အထည်ဖော်ရန်နှင့်အကောင်အထည်ဖော်မှုဖြစ်စဉ်ကိုကုဒ်နမူနာများနှင့်အသေးစိတ်ရှင်းပြရန် PHP နှင့်ပေါင်းစပ်ရန်မည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။
သင်စတင်မီ, အောက်ပါလိုအပ်ချက်များနှင့်ကိုက်ညီကြောင်းသေချာပါစေ:
ပထမ ဦး စွာအသုံးပြုသူအထောက်အထားများကိုသိုလှောင်ရန် AWS Cognito ရှိအသုံးပြုသူရေကန်တစ်ခုကိုဖန်တီးပါ။ အသုံးပြုသူရေကန်တစ်ခုဖန်တီးရန် AWS CLI သို့မဟုတ် AWS စီမံခန့်ခွဲမှု console ကိုသင်အသုံးပြုနိုင်သည်။ ဤတွင် AWS CLI ကိုအသုံးပြုပြီးအသုံးပြုသူရေကန်တစ်ခုဖန်တီးရန်ဥပမာ supply command များဖြစ်သည်။
aws cognito-idp create-user-pool --pool-name MyUserPool --auto-verified-attributes email --policies PasswordPolicies=RequiredLength=8,RequireUppercase=true,RequireLowercase=true,RequireNumbers=true,RequireSymbols=true --schema Name=email,AttributeDataType=Email:STRING,Required=true,Name=phone_number,AttributeDataType=Number:STRING,Required=false
ဒီ command က Myuserpool လို့ခေါ်တဲ့အသုံးပြုသူရေကန်တစ်ခုဖန်တီးပေးတယ်, အီးမေးလ်အတည်ပြုခြင်း,
သင်၏လျှောက်လွှာကို Cognito အသုံးပြုသူရေကန်နှင့်အပြန်အလှန်ဆက်သွယ်နိုင်ရန်အတွက်သင်အသုံးပြုသူရေကန် client တစ်ခုဖန်တီးရန်လိုအပ်သည်။ ၎င်းကို AWS CLI သို့မဟုတ်စီမံခန့်ခွဲမှု console မှတဆင့်လုပ်ဆောင်နိုင်သည်။ AWS CLI ကိုအသုံးပြုပြီးအသုံးပြုသူရေကန်ဆရာတစ် ဦး ကိုဖန်တီးရန်ဥပမာ command များဖြစ်သည်။
aws cognito-idp create-user-pool-client --user-pool-id YOUR_USER_POOL_ID --client-name MyUserPoolClient --no-generate-secret --explicit-auth-flows ALLOW_REFRESH_TOKEN_AUTH --refresh-token-validity 30
ဤ command သည် Myuserpoolient အမည်ရှိအသုံးပြုသူရေကန်စင်တာကိုဖန်တီးပြီး Refresh Tokens မှတဆင့်စစ်မှန်ကြောင်းအတည်ပြုခြင်းအားရက်ပေါင်း 30 သက်တမ်းရှိသည်။
ယခုကျွန်ုပ်တို့သည်အသုံးပြုသူသမဝါယမနှင့် 0 န်ဆောင်မှုခံယူသူများကိုတည်ဆောက်ထားသည့်အတွက် PHP code ကိုအသုံးပြုသူ authentication ကိုအကောင်အထည်ဖော်ရန်ရေးနိုင်သည်။ ပထမ ဦး စွာ PHP အတွက် AWS SDK မိတ်ဆက်ပေးရန်လိုအပ်သည်။ သင်သည် composer မှတဆင့် install လုပ်နိုင်သည်, သို့မဟုတ် SDK Source Code ကိုတိုက်ရိုက်ဒေါင်းလုတ် လုပ်. မိတ်ဆက်ပေးနိုင်သည်။
require 'vendor/autoload.php'; // မိတ်ဆက်ခဲ့သည် AWS SDK for PHP ဖိုင်များကိုအလိုအလျောက်တင်နေသည်
use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;
ထို့နောက် AWS Cognito Access အထောက်အထားများကို configure လုပ်ပါ။ `your_user_pool_id_id` 'ကိုအစားထိုးပါ။ သင်၏အမှန်တကယ်တန်ဖိုးများအတွက်အောက်ပါကုဒ်များတွင်` `` your_aws_region` ကိုအစားထိုးပါ။
$poolId = 'YOUR_USER_POOL_ID';
$clientId = 'YOUR_USER_POOL_CLIENT_ID';
$region = 'YOUR_AWS_REGION';
ထို့နောက် cognitoiderityprovidertInterpriverclient ကို သုံး. အထောက်အထားများကို configure လုပ်ပါ။
$client = new CognitoIdentityProviderClient([
'version' => 'latest',
'region' => $region
]);
$client->setCredentials([
'key' => 'YOUR_AWS_ACCESS_KEY_ID',
'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
]);
သင်သည် Authentication အတွက် Cognito ကိုသုံးနိုင်သည်။ အောက်ပါကုဒ်နံပါတ်များသည် AWS Cognito နှင့်မည်သို့အတည်ပြုရမည်ကိုပြသသည်။
$result = $client->adminInitiateAuth([
'UserPoolId' => $poolId,
'ClientId' => $clientId,
'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
'AuthParameters' => [
'USERNAME' => 'testuser@example.com',
'PASSWORD' => 'P@ssw0rd'
]
]);
var_dump($result);
အထက်ပါကုဒ်များတွင် `admininitiatiuteauth`uth`uthuth`uth`uthution method ကို authentication အတွက်အသုံးပြုသည်။ ကျေးဇူးပြု. 'username'``' နှင့် 'Password'`' ကိုအမှန်တကယ်အသုံးပြုသူအမည်နှင့်စကားဝှက်ဖြင့်အစားထိုးပါ။ အောင်မြင်သောအတည်ပြုချက်ကိုအတည်ပြုပြီးနောက်, `$ ရလဒ် 'မှာ validation ရလဒ်များပါ 0 င်လိမ့်မည်။
ဤဆောင်းပါးမှတစ်ဆင့် Secure အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုရန် PHP တွင် AWS Cognito ကိုမည်သို့ပေါင်းစည်းရမည်ကိုလေ့လာရန်ကျွန်ုပ်တို့လေ့လာသင်ယူကြသည်။ အသုံးပြုသူသမဝါယမများကိုဖန်တီးခြင်းအားဖြင့် php code ကိုအသုံးပြုရန်နှင့် PHP code ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် authentication ကို enable လုပ်ရန်အသုံးပြုသူစီမံခန့်ခွဲမှုစွမ်းရည်များကို application များအတွက်ထောက်ပံ့ပေးနိုင်သည်။ AWS Cognito သည်သင်၏လျှောက်လွှာများ၏လုံခြုံရေးနှင့်ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေသည့်ရိုးရှင်းသောနှင့်လုံခြုံစိတ်ချရသောဖြေရှင်းနည်းတစ်ခုဖြစ်သည်။