1"use strict";(self.webpackChunkAuthressKnowledgeBase=self.webpackChunkAuthressKnowledgeBase||[]).push([[7111],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=l(r),m=a,y=d["".concat(c,".").concat(m)]||d[m]||p[m]||i;return r?n.createElement(y,s(s({ref:t},u),{},{components:r})):n.createElement(y,s({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,s=new Array(i);s[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,s[1]=o;for(var l=2;l<i;l++)s[l]=r[l];return n.createElement.apply(null,s)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},29967:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={hide_table_of_contents:!0,title:"Building a Security-First API",description:"Embrace a security-first mindset in API development to proactively prevent malicious attacks. Learn how to integrate fundamental security building blocks, authenticate requests, validate access control, implement secure communication channels, identify potentially dangerous actors, and dynamically prevent attacks as they happen.",image:"./assets/2024-05-10-techspot-building-security-first-apis.jpg",image_alt:"Building a security-first api",video:!0},s=void 0,o={permalink:"/knowledge-base/articles/2024/05/10/techspot-building-security-first-apis",source:"@site/articles/2024-05-10-techspot-building-security-first-apis.md",title:"Building a Security-First API",description:"Embrace a security-first mindset in API development to proactively prevent malicious attacks. Learn how to integrate fundamental security building blocks, authenticate requests, validate access control, implement secure communication channels, identify potentially dangerous actors, and dynamically prevent attacks as they happen.",date:"2024-05-10T00:00:00.000Z",formattedDate:"May 10, 2024",tags:[],readingTime:.28,hasTruncateMarker:!1,authors:[],frontMatter:{hide_table_of_contents:!0,title:"Building a Security-First API",description:"Embrace a security-first mindset in API development to proactively prevent malicious attacks. Learn how to integrate fundamental security building blocks, authenticate requests, validate access control, implement secure communication channels, identify potentially dangerous actors, and dynamically prevent attacks as they happen.",image:"./assets/2024-05-10-techspot-building-security-first-apis.jpg",image_alt:"Building a security-first api",video:!0},prevItem:{title:"Build, buy, or use open source",permalink:"/knowledge-base/articles/2024/06/14/build-versus-buy-versus-open-source"},nextItem:{title:"Adding Security to your Architecture",permalink:"/knowledge-base/articles/2024/03/08/decompiled-adding-security-to-your-architecture"}},c={image:r(22204).Z,authorsImageUrls:[]},l=[],u={toc:l};
1function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("div",{style:{display:"flex",justifyContent:"center"}},(0,a.kt)("iframe",{style:{borderRadius:"10px",width:"min(1000px, 100%)",height:534,border:"1px solid"},src:"https://www.youtube.com/embed/ANzg6E1eJM0",title:"Building Security-First APIs",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})),(0,a.kt)("br",null),(0,a.kt)("br",null),(0,a.kt)("p",null,"Embrace a security-first mindset in API development to proactively prevent malicious attacks. Learn how to integrate fundamental security building blocks, authenticate requests, validate access control, implement secure communication channels, identify potentially dangerous actors, and dynamically prevent attacks as they happen."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Slides: ",(0,a.kt)("a",{parentName:"li",href:"https://docs.google.com/presentation/d/e/2PACX-1vRKFjZUSXWhlL0wNZG9xQ1T1gxPn0ut3C_1YHgZkOCqQWPZffIep6t-U3GZEQ9HUxGHW6a__dE7kyfp/pub?start=false&loop=false&delayms=3000"},"Presentation Slides")),(0,a.kt)("li",{parentName:"ul"},"Conference: ",(0,a.kt)("a",{parentName:"li",href:"https://techspot.onthespotdev.com/cybersecurity-focused-techspot"},"TechSpot Warsaw"))))}p.isMDXComponent=!0},22204:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/2024-05-10-techspot-building-security-first-apis-bc3220cff00d2880aaf63bbbe78f8ea6.jpg"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.