{"id":19,"date":"2022-05-05T05:37:22","date_gmt":"2022-05-05T05:37:22","guid":{"rendered":"https:\/\/perangkatlunakku.com\/?p=19"},"modified":"2022-12-21T07:24:11","modified_gmt":"2022-12-21T07:24:11","slug":"slim4-tutorial-api-4-autentikasi-pada-middleware","status":"publish","type":"post","link":"https:\/\/perangkatlunakku.com\/en\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/","title":{"rendered":"Slim4 API Tutorial: 4 Middleware authentication"},"content":{"rendered":"<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\" alt=\"Slim4 autentikasi pada middleware\" class=\"wp-image-35\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware-150x150.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>In <strong>Slim4 Tutorial API<\/strong> <strong>middleware authentication <\/strong>, we will discuss how to check identity in JWT access token. This method is a process to prove user identity. It aims to provide access in order to give user authorized access. One of authentication method used is <a href=\"https:\/\/perangkatlunakku.com\/en\/slim4-tutorial-api-3-jwt-access-token\/\" target=\"_blank\" rel=\"noreferrer noopener\">JWT access token<\/a> from login API. Authentication does not require for public data. But for secure private data, authentication is necessary to prevent unauthorized persons from accessing the data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-slim4-autentikasi-pada-middleware\">Slim4 Middleware Authentication <\/h2>\n\n\n\n<p>Middleware of each framework has different flow and logic processes. In Slim4, the process is done by manipulating process between incoming requests and outgoing responses. In short, it can be used before or after calling the route. Based on the documentation, there are several ways to implement middleware is  application, group, and route levels.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/\/ Add Middleware On App\n$app-&gt;add(new ExampleMiddleware());\n\n\/\/ Add Middleware On Group\n$app-&gt;group('\/', function () { ... })-&gt;add(new ExampleMiddleware());\n\n\/\/ Add Middleware On Route\n$app-&gt;get('\/', function () { ... })-&gt;add(new ExampleMiddleware());<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-jwt-access-token-sebagai-authorization-header\">JWT access token as authorization header<\/h2>\n\n\n\n<p><strong>JWT access token<\/strong> that was generated by the API login will use for authentication media. It will be used at the authorization bearer token (<strong>authorization header<\/strong>) when sending a request. Furthermore, frontend or mobile apps use this method as an authentication process. Before the authentication process start, first add code on <em><strong>public\/.htaccess<\/strong><\/em> to be able read the authorization header.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">\n...\nRewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]<\/code><\/pre>\n\n\n\n<p>Next in <strong><em>public\/index.php<\/em><\/strong> file create function to implement the middleware:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">...\nuse Psr\\Http\\Server\\RequestHandlerInterface as RequestHandler;\n...\n$authMiddleware = function (Request $request, RequestHandler $handler) use ($settings) {\n    try {\n        $message = [];\n        if ($request-&gt;hasHeader('Authorization')) {\n            $header = $request-&gt;getHeader('Authorization');\n            if (!empty($header)) {\n                $bearer = trim($header[0]);\n                preg_match('\/Bearer\\s(\\S+)\/', $bearer, $matches);\n                $token = $matches[1];\n                $key = Key($settings['jwt']['key'], $settings['jwt']['alg']);\n                $data = JWT::decode($token, $key);\n                $dateTime = new DateTimeImmutable();\n                $now = $dateTime-&gt;getTimestamp();\n\n                if ($now &gt; $data-&gt;nbf &amp;&amp; $now &lt; $data-&gt;exp) {\n                    $request = $request-&gt;withAttribute('user_id', $data-&gt;user_id);\n                    $request = $request-&gt;withAttribute('email', $data-&gt;email);\n                } else {\n                    $message['message'] = 'Token expired';\n                }\n            }\n        } else {\n            $message['message'] = 'Unauthorized access';\n            $response = new \\Slim\\Psr7\\Response();\n            $response-&gt;getBody()-&gt;write(json_encode($message));\n            return $response-&gt;withHeader('Content-Type', 'application-json')\n                -&gt;withStatus(401);\n        }\n    } catch (\\Exception $e) {\n        $message['message'] = $e-&gt;getMessage();\n        $response = new \\Slim\\Psr7\\Response();\n        $response-&gt;getBody()-&gt;write(json_encode($message));\n        return $response-&gt;withHeader('Content-Type', 'application-json')\n            -&gt;withStatus(401);\n    }\n\n    $response = $handler-&gt;handle($request);\n    return $response;\n};\n...<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-autentikasi-middleware-pada-route\">Middleware authentication on route<\/h2>\n\n\n\n<p><strong>Middleware authentication<\/strong> in Slim4 can be implemented on route. Need to add <strong>-&gt;add($authMiddleware)<\/strong> based on example given above. Create route with endpoint name is <strong><em>\/identity<\/em><\/strong>. This route will show the logged user identity.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">...\n$app-&gt;get('\/identity', function (Request $request, Response $response) {\n    $user = User::where('id', $request-&gt;getAttribute('user_id'))\n        -&gt;where('email', $request-&gt;getAttribute('user_email'))\n        -&gt;first();\n    $response-&gt;getBody()-&gt;write(json_encode($user));\n    return $response-&gt;withHeader('Content-Type', 'application\/json')\n        -&gt;withStatus(200);\n})-&gt;add($authMiddleware);\n...<\/code><\/pre>\n\n\n\n<p>When accessing <em><strong>localhost\/fashion-store-slim4\/public\/identity<\/strong><\/em> route without authorization bearer token, system will refuse and show message for <em><strong>Unauthorized access<\/strong><\/em><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-unauthorized-access-1024x443.png\" alt=\"Slim4 autentikasi middleware unauthorized access\" class=\"wp-image-36\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-unauthorized-access-1024x443.png 1024w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-unauthorized-access-300x130.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-unauthorized-access-768x332.png 768w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-unauthorized-access.png 1126w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Add <strong>access token<\/strong> that was generated by login API in authorization bearer token. Authorization bearer on Postman example:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"585\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-user-identity-1024x585.png\" alt=\"Slim4 autentikasi middleware user identity API\" class=\"wp-image-37\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-user-identity-1024x585.png 1024w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-user-identity-300x171.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-user-identity-768x439.png 768w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-user-identity.png 1132w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Full code can be viewed at <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/pradesn\/fashion-store-slim4\/tree\/05d86cd0cebe286a5bb6f2890c707b825effd72f\" target=\"_blank\">Github<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>In the Slim4 API tutorial: Authentication middleware, we will discuss how to use the middleware in Slim4 as a system authentication.<\/p>","protected":false},"author":1,"featured_media":35,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[9,7,4],"class_list":["post-19","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-fashion-store-api","tag-php-backend","tag-slim4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.5 (Yoast SEO v23.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Slim4 Tutorial API: 4 Middleware autentikasi - perangkatlunakku<\/title>\n<meta name=\"description\" content=\"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/perangkatlunakku.com\/en\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Slim4 Tutorial API: 4 Middleware autentikasi\" \/>\n<meta property=\"og:description\" content=\"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/perangkatlunakku.com\/en\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\" \/>\n<meta property=\"og:site_name\" content=\"perangkatlunakku\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/groups\/perangkatlunakku\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-05T05:37:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-21T07:24:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Prade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@prangkatlunakku\" \/>\n<meta name=\"twitter:site\" content=\"@prangkatlunakku\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\"},\"author\":{\"name\":\"Prade\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662\"},\"headline\":\"Slim4 Tutorial API: 4 Middleware autentikasi\",\"datePublished\":\"2022-05-05T05:37:22+00:00\",\"dateModified\":\"2022-12-21T07:24:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\"},\"wordCount\":297,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\",\"keywords\":[\"fashion-store-api\",\"php-backend\",\"slim4\"],\"articleSection\":[\"Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\",\"url\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\",\"name\":\"Slim4 Tutorial API: 4 Middleware autentikasi - perangkatlunakku\",\"isPartOf\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\",\"datePublished\":\"2022-05-05T05:37:22+00:00\",\"dateModified\":\"2022-12-21T07:24:11+00:00\",\"description\":\"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.\",\"breadcrumb\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage\",\"url\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\",\"contentUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png\",\"width\":300,\"height\":300,\"caption\":\"Slim4 Middleware Authentication\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/perangkatlunakku.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Slim4 Tutorial API: 4 Middleware autentikasi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/perangkatlunakku.com\/#website\",\"url\":\"https:\/\/perangkatlunakku.com\/\",\"name\":\"perangkatlunakku\",\"description\":\"perangkatlunakku permudah kehidupan\",\"publisher\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/perangkatlunakku.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\",\"name\":\"perangkatlunakku\",\"url\":\"https:\/\/perangkatlunakku.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"perangkatlunakku\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/groups\/perangkatlunakku\",\"https:\/\/x.com\/prangkatlunakku\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662\",\"name\":\"Prade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g\",\"caption\":\"Prade\"},\"sameAs\":[\"http:\/\/perangkatlunakku.com\"],\"url\":\"https:\/\/perangkatlunakku.com\/en\/author\/pradesn\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Slim4 Tutorial API: 4 Middleware autentikasi - perangkatlunakku","description":"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.","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:\/\/perangkatlunakku.com\/en\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/","og_locale":"en_US","og_type":"article","og_title":"Slim4 Tutorial API: 4 Middleware autentikasi","og_description":"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.","og_url":"https:\/\/perangkatlunakku.com\/en\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/","og_site_name":"perangkatlunakku","article_publisher":"https:\/\/www.facebook.com\/groups\/perangkatlunakku","article_published_time":"2022-05-05T05:37:22+00:00","article_modified_time":"2022-12-21T07:24:11+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png","type":"image\/png"}],"author":"Prade","twitter_card":"summary_large_image","twitter_creator":"@prangkatlunakku","twitter_site":"@prangkatlunakku","twitter_misc":{"Written by":"Prade","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#article","isPartOf":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/"},"author":{"name":"Prade","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662"},"headline":"Slim4 Tutorial API: 4 Middleware autentikasi","datePublished":"2022-05-05T05:37:22+00:00","dateModified":"2022-12-21T07:24:11+00:00","mainEntityOfPage":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/"},"wordCount":297,"commentCount":3,"publisher":{"@id":"https:\/\/perangkatlunakku.com\/#organization"},"image":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage"},"thumbnailUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png","keywords":["fashion-store-api","php-backend","slim4"],"articleSection":["Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/","url":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/","name":"Slim4 Tutorial API: 4 Middleware autentikasi - perangkatlunakku","isPartOf":{"@id":"https:\/\/perangkatlunakku.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage"},"image":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage"},"thumbnailUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png","datePublished":"2022-05-05T05:37:22+00:00","dateModified":"2022-12-21T07:24:11+00:00","description":"Pada Slim4 Tutorial API middleware autentikasi akan dibahas bagaimana menggunakan middleware pada Slim4 sebagai bentuk autentikasi sistem.","breadcrumb":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#primaryimage","url":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png","contentUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-middleware.png","width":300,"height":300,"caption":"Slim4 Middleware Authentication"},{"@type":"BreadcrumbList","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/05\/slim4-tutorial-api-4-autentikasi-pada-middleware\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/perangkatlunakku.com\/"},{"@type":"ListItem","position":2,"name":"Slim4 Tutorial API: 4 Middleware autentikasi"}]},{"@type":"WebSite","@id":"https:\/\/perangkatlunakku.com\/#website","url":"https:\/\/perangkatlunakku.com\/","name":"perangkatlunakku","description":"perangkatlunakku permudah kehidupan","publisher":{"@id":"https:\/\/perangkatlunakku.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/perangkatlunakku.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/perangkatlunakku.com\/#organization","name":"perangkatlunakku","url":"https:\/\/perangkatlunakku.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"perangkatlunakku"},"image":{"@id":"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/groups\/perangkatlunakku","https:\/\/x.com\/prangkatlunakku"]},{"@type":"Person","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662","name":"Prade","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g","caption":"Prade"},"sameAs":["http:\/\/perangkatlunakku.com"],"url":"https:\/\/perangkatlunakku.com\/en\/author\/pradesn\/"}]}},"_links":{"self":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":0,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/media\/35"}],"wp:attachment":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}