{"id":135446,"date":"2024-09-06T14:15:33","date_gmt":"2024-09-06T08:45:33","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?page_id=135446"},"modified":"2024-09-06T14:15:34","modified_gmt":"2024-09-06T08:45:34","slug":"requiring-confirmation-for-authenticated-requests","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/","title":{"rendered":"Requiring Confirmation for Authenticated Requests"},"content":{"rendered":"\n<p>In many applications, it&#8217;s desirable to require users to confirm their email address or other information before granting them full access to certain features or resources. This can help prevent spam and ensure the authenticity of user accounts. In this guide, we&#8217;ll demonstrate how to implement a confirmation requirement for authenticated requests in FastAPI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Adding a Confirmation Flag to the User Model<\/strong><\/h2>\n\n\n\n<p><strong>Modify the User Model:<\/strong><\/p>\n\n\n\n<p>Python<\/p>\n\n\n\n<p>from sqlalchemy import Column, Boolean<\/p>\n\n\n\n<p>class User(Base):<br># \u2026<br>is_verified = Column(Boolean, default=False)<\/p>\n\n\n\n<p><strong>Update the Registration Endpoint:<\/strong><\/p>\n\n\n\n<p>Python<\/p>\n\n\n\n<p>@router.post(&#8220;\/register&#8221;, response_model=UserSchema)<br>async def register_user(user: UserCreate, db: Session = Depends(get_db)):<br># \u2026<br>db_user = User(email=user.email, password=hashed_password, is_verified=False)<br># \u2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Enforcing Confirmation in Endpoints<\/strong><\/h2>\n\n\n\n<p>Python<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@app.get(\"\/protected\")\nasync def protected_route(current_user: User = Depends(get_current_user)):\n    if not current_user.is_verified:\n        raise HTTPException(status_code=403, detail=\"Email confirmation required\")\n\n    # ...<\/code><\/pre>\n\n\n\n<p><strong>Confirmation Email:<\/strong> Send a confirmation email to the user&#8217;s registered email address with a link to confirm their account.<\/p>\n\n\n\n<p><strong>Resend Option:<\/strong> Allow users to resend the confirmation email if they don&#8217;t receive it.<\/p>\n\n\n\n<p><strong>Expiration:<\/strong> Set an expiration time for confirmation tokens to prevent abuse.<\/p>\n\n\n\n<p><strong>User Experience:<\/strong> Provide clear messaging to guide users through the confirmation process.<\/p>\n\n\n\n<p>By requiring confirmation for authenticated requests, you can enhance the security and reliability of your FastAPI application and protect against unauthorized access.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In many applications, it&#8217;s desirable to require users to confirm their email address or other information before granting them full access to certain features or resources. This can help prevent spam and ensure the authenticity of user accounts. In this guide, we&#8217;ll demonstrate how to implement a confirmation requirement for authenticated requests in FastAPI. Adding&#8230;<\/p>\n","protected":false},"author":16,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-135446","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Requiring Confirmation for Authenticated Requests - Tutorial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Requiring Confirmation for Authenticated Requests - Tutorial\" \/>\n<meta property=\"og:description\" content=\"In many applications, it&#8217;s desirable to require users to confirm their email address or other information before granting them full access to certain features or resources. This can help prevent spam and ensure the authenticity of user accounts. In this guide, we&#8217;ll demonstrate how to implement a confirmation requirement for authenticated requests in FastAPI. Adding...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-06T08:45:34+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/\",\"name\":\"Requiring Confirmation for Authenticated Requests - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2024-09-06T08:45:33+00:00\",\"dateModified\":\"2024-09-06T08:45:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Requiring Confirmation for Authenticated Requests\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Requiring Confirmation for Authenticated Requests - Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/","og_locale":"en_US","og_type":"article","og_title":"Requiring Confirmation for Authenticated Requests - Tutorial","og_description":"In many applications, it&#8217;s desirable to require users to confirm their email address or other information before granting them full access to certain features or resources. This can help prevent spam and ensure the authenticity of user accounts. In this guide, we&#8217;ll demonstrate how to implement a confirmation requirement for authenticated requests in FastAPI. Adding...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-09-06T08:45:34+00:00","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/","name":"Requiring Confirmation for Authenticated Requests - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2024-09-06T08:45:33+00:00","dateModified":"2024-09-06T08:45:34+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/requiring-confirmation-for-authenticated-requests\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Requiring Confirmation for Authenticated Requests"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/135446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=135446"}],"version-history":[{"count":2,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/135446\/revisions"}],"predecessor-version":[{"id":135460,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/135446\/revisions\/135460"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=135446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=135446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=135446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}