Manually changing email verification status
Mark email as verified#
To manually mark an email as verified, you need to first create an email verification token for the user and then use the token to verify the user's email.
- NodeJS
- GoLang
- Python
import EmailVerification from "supertokens-node/recipe/emailverification";
async function manuallyVerifyEmail(userId: string) {
try {
// Create an email verification token for the user
const tokenRes = await EmailVerification.createEmailVerificationToken(userId);
// If the token creation is successful, use the token to verify the user's email
if (tokenRes.status === "OK") {
await EmailVerification.verifyEmailUsingToken(tokenRes.token);
}
} catch (err) {
console.error(err);
}
}
import (
"github.com/supertokens/supertokens-golang/recipe/emailverification"
)
func main() {
userID := "..."
// Create an email verification token for the user
tokenRes, err := emailverification.CreateEmailVerificationToken(userID, nil)
if err != nil {
// handle error
}
// If the token creation is successful, use the token to verify the user's email
if tokenRes.OK != nil {
_, err := emailverification.VerifyEmailUsingToken(tokenRes.OK.Token)
if err != nil {
// handle error
}
}
}
- Asyncio
- Syncio
from supertokens_python.recipe.emailverification.asyncio import create_email_verification_token, verify_email_using_token
from supertokens_python.recipe.emailverification.interfaces import CreateEmailVerificationTokenOkResult
async def manually_verify_email(user_id: str):
try:
# Create an email verification token for the user
token_res = await create_email_verification_token(user_id)
# If the token creation is successful, use the token to verify the user's email
if isinstance(token_res, CreateEmailVerificationTokenOkResult):
await verify_email_using_token(token_res.token)
except Exception as e:
print(e)
from supertokens_python.recipe.emailverification.syncio import create_email_verification_token, verify_email_using_token
from supertokens_python.recipe.emailverification.interfaces import CreateEmailVerificationTokenOkResult
def manually_verify_email(user_id: str):
try:
# Create an email verification token for the user
token_res = create_email_verification_token(user_id)
# If the token creation is successful, use the token to verify the user's email
if isinstance(token_res, CreateEmailVerificationTokenOkResult):
verify_email_using_token(token_res.token)
except Exception as e:
print(e)
Mark email as unverified#
To manually mark an email as unverified, you need to first retrieve the user's email address and then update their email verification status in the database.
- NodeJS
- GoLang
- Python
import EmailVerification from "supertokens-node/recipe/emailverification";
async function manuallyUnverifyEmail(userId: string) {
try {
// Set email verification status to false
await EmailVerification.unverifyEmail(userId);
} catch (err) {
console.error(err);
}
}
import (
"github.com/supertokens/supertokens-golang/recipe/emailverification"
)
func main() {
userID := "..."
// Set email verification status to false
_, err := emailverification.UnverifyEmail(userID, nil)
if err != nil {
// handle error
}
}
- Asyncio
- Syncio
from supertokens_python.recipe.emailverification.asyncio import unverify_email
async def manually_unverify_email(user_id: str):
try:
# Set email verification status to false
await unverify_email(user_id)
except Exception as e:
print(e)
from supertokens_python.recipe.emailverification.syncio import unverify_email
def manually_unverify_email(user_id: str):
try:
# Set email verification status to false
unverify_email(user_id)
except Exception as e:
print(e)