{"id":887,"date":"2023-12-04T08:55:20","date_gmt":"2023-12-04T07:55:20","guid":{"rendered":"http:\/\/localhost\/wordpress\/?page_id=887"},"modified":"2025-12-10T14:19:31","modified_gmt":"2025-12-10T14:19:31","slug":"multi-factor-authentication-via-sms","status":"publish","type":"page","link":"https:\/\/ip1sms.com\/en\/multi-factor-authentication-via-sms\/","title":{"rendered":"Multi-factor authentication via SMS"},"content":{"rendered":"\n<div class=\"wp-block-custom-ip1-service-page-header-block wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\"><div class=\"row g-0 justify-content-center align-items-center ip1-service-page-header gradient-box ripple \"><div class=\"col-md-9 col-sm-12\"><div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\"><div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><img decoding=\"async\" src=\"https:\/\/ip1sweden.blob.core.windows.net\/blobip1websitef76b7023b5\/wp-content\/uploads\/2024\/03\/integrate-sms-with-ip1-sms-gateway.svg\" alt=\"SMS-tj\u00e4nster fr\u00e5n iP.1\"\/><\/div><div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\"><h1 class=\"wp-block-heading\">Multifaktorautentisering via SMS<\/h1><p class=\"paragraph1\">Multifaktoratutentisering (MFA) ger inte bara dina kunders konton en h\u00f6gre grad av s\u00e4kerhet \u2013 du skyddar ocks\u00e5 ditt eget system mot skr\u00e4pkonton och illasinnade robotinloggningar.<\/p><p class=\"paragraph2\">Skapa ett konto, kopiera exempelkoden och klistra in i ditt projekt, sen \u00e4r du redo att h\u00f6ja s\u00e4kerheten i ditt system!<\/p><\/div><\/div><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-custom-ip1-conversion-button-block row g-0 concave align-items-center text-center\"><div class=\"col\"><div class=\"link-button\"><a href=\"\/testkonto\" id=\"general-trial\" class=\"btn btn-ip1 get-started\">Testa kostnadsfritt<\/a><a href=\"#\" id=\"contact-form\" class=\"btn btn-outline-ip1 ms-2 sign-in\" data-bs-toggle=\"modal\" data-bs-target=\"#contact-modal\">Kontakta oss<\/a><\/div><\/div><\/div>\n\n\n\n<div class=\"row g-0 justify-content-center mb-5 mt-5 p-1 mx-1 p-md-0 mx-md-0\">\n<div class=\"col-md-9 col-sm-12 text-left\">\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-vad-ar-multifaktorautentisering\">Vad \u00e4r Multifaktorautentisering?<\/h2>\n\n\n\n<p>Multifaktorautentisering (MFA) inneb\u00e4r ett extra s\u00e4kerhetssteg f\u00f6r att s\u00e4kerst\u00e4lla att det verkligen \u00e4r r\u00e4tt person som f\u00f6rs\u00f6ker logga in.<\/p>\n\n\n\n<p>Det vanligaste tillv\u00e4gag\u00e5ngss\u00e4ttet \u00e4r att anv\u00e4nda MFA kopplad till den ordinarie inloggningsprocessen, som aktiveras n\u00e4r en anv\u00e4ndare har skrivit in sitt l\u00f6senord. Systemet skickar sedan ut en verifikationskod via SMS till anv\u00e4ndarens registrerade mobilnummer som anv\u00e4ndaren sedan fyller i f\u00f6r att bekr\u00e4fta sin inloggning.<\/p>\n\n\n\n<\/div>\n<\/div>\n\n\n\n<div class=\"row g-0 justify-content-center mb-5 mt-5 p-1 mx-1 p-md-0 mx-md-0\">\n<div class=\"col-md-9 col-sm-12 text-left\">\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"h-varfor-ska-jag-anvanda-multifaktorautentisering\">Varf\u00f6r ska jag anv\u00e4nda multifaktorautentisering?<\/h2>\n\n\n\n<p>Att exempelvis bara anv\u00e4nda anv\u00e4ndarnamn och l\u00f6senord f\u00f6r att s\u00e4kra dina online-konton som tidigare varit standard \u00e4r inte l\u00e4ngre en optimal s\u00e4kerhetsl\u00f6sning tack vare det alltmer \u00e5terkommande problemet med dataintr\u00e5ng som bland annat utf\u00f6rs f\u00f6r att stj\u00e4la viktig information, s\u00e5 som kreditkortsuppgifter, personnummer och annan k\u00e4nslig data.<\/p>\n\n\n\n<p>N\u00e4r du anv\u00e4nder MFA i samband med inloggning blir det mycket samtidigt mycket sv\u00e5rare f\u00f6r obeh\u00f6riga att komma \u00e5t enheter och digitala tj\u00e4nster \u00e4n n\u00e4r till exempel bara ett l\u00f6senord anv\u00e4nds. Skydda dina system eller dina kunders konton genom att integrera multifaktorautentisering genom iP.1\u00b4s smarta SMS API.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"h-global-blacklist-for-spam-nummer\">Global blacklist f\u00f6r Spam-nummer<\/h2>\n\n\n\n<p>N\u00e4r du integrerar MFA fr\u00e5n iP.1 f\u00e5r du automatisk tillg\u00e5ng till v\u00e5r globala blacklist som best\u00e5r av virtuella nummer och e g\u00e5ngsnummer som anv\u00e4nts vid bland annat kontoregistreringar av botar och annan form av illasinnad aktivitet. Du kan l\u00e4sa mer om hur du avg\u00f6r ifall ett nummer \u00e4r ett s\u00e5 kallat eng\u00e5ngsnummer p\u00e5 v\u00e5r&nbsp;<a href=\"https:\/\/github.com\/iP1SMS\/is-disposable-phone-number-js\" target=\"_blank\" rel=\"noreferrer noopener\">Github-sida<\/a> eller p\u00e5 plugin-sidan hos <a href=\"https:\/\/www.npmjs.com\/package\/@ip1sms\/disposable-phone-numbers\" target=\"_blank\" rel=\"noopener\">Node.js<\/a><\/p>\n\n\n\n<p>Blacklisten \u00e4r dessutom utm\u00e4rkt att anv\u00e4nda f\u00f6r att exempelvis kontrollera nummer som anges vid exempelvis kontoregistrering i en registreringsprocess. Du har givetvis ocks\u00e5 m\u00f6jlighet att sj\u00e4lv l\u00e4gga till nummer till blacklisten f\u00f6r att se till dessa nummer inte anv\u00e4nds i andra system.<\/p>\n<\/div>\n<\/div>\n\n\n\n<\/div>\n<\/div>\n\n\n\n<div class=\"row g-0 justify-content-center mb-5 mt-5 p-1 mx-1 p-md-0 mx-md-0\">\n<div class=\"col-md-9 col-sm-12 text-left\">\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<h2 class=\"wp-block-heading\" id=\"h-sa-enkelt-ar-det\">S\u00e5 enkelt \u00e4r det!<\/h2>\n\n\n\n<p>Skapa ett kostnadsfritt utvecklingskonto och klistra sen in koden fr\u00e5n v\u00e5ra kodexempel, sen \u00e4r du redo att b\u00f6rja skicka MFA!<\/p>\n\n\n\n<p>Med hj\u00e4lp av v\u00e5r utf\u00f6rliga dokumentationssida kan du med enkelhet skapa ett MFA-fl\u00f6de i ditt eget system eller mjukvara p\u00e5 nolltid.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-behover-du-support\">Beh\u00f6ver du support?<\/h2>\n\n\n\n<p>Inga problem! V\u00e5rt utvecklingsteam st\u00e5r redo f\u00f6r att v\u00e4gleda dig i din integration, bara&nbsp;<a href=\"tel:+4610606060\">sl\u00e5 en signal<\/a>&nbsp;eller&nbsp;<a href=\"mailto:info@ip1.se\">kontakta oss via mail<\/a>&nbsp;s\u00e5 hj\u00e4lper vi dig.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<div class=\"d-flex code-button-container\">\n<button class=\"csharp-button active\" id=\"cSharpExample\">C#<\/button>\n<button class=\"php-button\" id=\"phpExample\">PHP<\/button>\n<div class=\"ms-auto\">\n<a class=\"btn btn-info\" href=\"\/utvecklare\/introduktion\/\" style=\"color: #fff!important\">G\u00e5 till dokumentation<\/a>\n<\/div>\n<\/div>\n                        <div class=\"csharp\">\n                            <div class=\"d-flex align-items-center 2fa-type-container my-2\">\n                                <span class=\"authenticate-csharp-button me-2 active\" style=\"cursor: pointer\">Autentisera<\/span>\n                                <span class=\"validate-csharp-button\" style=\"cursor: pointer\">Validera<\/span>\n                            <\/div>\n                            <div class=\"authenticate-csharp\" style=\"white-space: pre; background-color: rgb(40, 42, 54); color: #fff; padding: 10px; border-radius: 8px; font-family: Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; overflow-x: auto;\"><span style=\"color: #8be9fd\">using<\/span> (<span style=\"color: #8be9fd\">var<\/span> client = new HttpClient())\n{\n    client.BaseAddress = new Uri(&#8221;https:\/\/api.ip1sms.com\/api\/&#8221;);\n    client.DefaultRequestHeaders.Accept.Clear();\n    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(&#8221;application\/json&#8221;));\n    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(&#8221;Bearer&#8221;, &#8221;API Key&#8221;);\n\n    <span style=\"color: #8be9fd\">var<\/span> authenticate = <span style=\"color: #8be9fd\">new<\/span> {\n        Recipients = <span style=\"color:#f1fa8c\">&#8221;46712345678&#8221;<\/span>,\n        From = <span style=\"color:#f1fa8c\">&#8221;iP1&#8221;<\/span>,\n        MessageFormat = <span style=\"color:#f1fa8c\">&#8221;Anv\u00e4nd f\u00f6ljande kod f\u00f6r autentisering {0}&#8221;<\/span>\n        Length = <span style=\"color:#f1fa8c\">&#8221;6&#8221;<\/span>\n        ExpirationTime = <span style=\"color:#f1fa8c\">&#8221;1200&#8221;<\/span>\n    };\n\n    HttpResponseMessage response = <span style=\"color: #8be9fd\">await<\/span> client.PostAsJsonAsync(<span style=\"color:#f1fa8c\">&#8221;authentications&#8221;<\/span>, authenticate);\n}\n                                    <\/div>\n                                    <div class=\"validate-csharp\" style=\"white-space: pre; background-color: rgb(40, 42, 54); color: #fff; padding: 10px; border-radius: 8px; font-family: Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; overflow-x: auto;\"><span style=\"color: #8be9fd\">\n<span style=\"color: #8be9fd\">string<\/span> submittedCode = Console.ReadLine(); \/\/ e. g. 453342\n\nusing<\/span> (<span style=\"color: #8be9fd\">var<\/span> client = new HttpClient())\n{\n    client.BaseAddress = new Uri(&#8221;https:\/\/api.ip1sms.com\/api\/&#8221;);\n    client.DefaultRequestHeaders.Accept.Clear();\n    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(&#8221;application\/json&#8221;));\n    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(&#8221;Bearer&#8221;, &#8221;API Key&#8221;);\n\n    <span style=\"color: #8be9fd\">var<\/span> validate = <span style=\"color: #8be9fd\">new<\/span> {\n        Phone  = <span style=\"color:#f1fa8c\">&#8221;46712345678&#8221;<\/span>,\n        Code = <span style=\"color:grey\">submittedCode<\/span>,\n    };\n\n    HttpResponseMessage response = <span style=\"color: #8be9fd\">await<\/span> client.PostAsJsonAsync(<span style=\"color:#f1fa8c\">&#8221;authentications\/validate&#8221;<\/span>, validate);\n    if (response.IsSuccessStatusCode)\n    {\n        Console.Log(&#8221;Validated&#8221;);\n    }\n    else\n    {\n        Console.Log(&#8221;Failed, &#8221; + response.StatusCode + &#8221;: &#8221; + await response.Content.ReadAsStringAsync());\n    }\n}\n                            <\/div>\n                        <\/div>\n                        <div class=\"php\">\n                            <div class=\"d-flex align-items-center 2fa-type-container my-2\">\n                                <span class=\"authenticate-php-button me-2 active\" style=\"cursor: pointer\">Autentisera<\/span>\n                                <span class=\"validate-php-button\" style=\"cursor: pointer\">Validera<\/span>\n                            <\/div>\n                            <div class=\"authenticate-php\" style=\"white-space: pre; background-color: rgb(40, 42, 54); color: #fff; padding: 10px; border-radius: 8px; font-family: Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x: auto;\">\n$message = <span style=\"color: #8be9fd\">array<\/span>(\n<span style=\"color:#f1fa8c\">&#8217;Phone&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;46712345678&#8217;<\/span>,\n<span style=\"color:#f1fa8c\">&#8217;From&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;iP1&#8217;<\/span>,\n<span style=\"color:#f1fa8c\">&#8217;MessageFormat&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;Anv\u00e4nd f\u00f6ljande kod f\u00f6r autentisering {0}&#8217;<\/span>,\n<span style=\"color:#f1fa8c\">&#8217;Length&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;6&#8217;<\/span>,\n<span style=\"color:#f1fa8c\">&#8217;ExpirationTime&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;1200&#8217;<\/span>\n);\n\n$jsonEncodedMessage = json_encode($message);\n$options = array(\n    <span style=\"color:#f1fa8c\">&#8217;http&#8217;<\/span> => <span style=\"color: #8be9fd\">array<\/span>(\n        <span style=\"color:#f1fa8c\">&#8217;header&#8217;<\/span>  => <span style=\"color: #8be9fd\">array<\/span>(\n        <span style=\"color:#f1fa8c\">&#8217;Content-Type: application\/json&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;Authorization: Bearer &#8217;<\/span> . <span style=\"color:#f1fa8c\">&#8217;API key&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;Content-Length: &#8217;<\/span> . strlen($jsonEncodedMessage)\n        ),\n        <span style=\"color:#f1fa8c\">&#8217;method&#8217;<\/span>  => <span style=\"color:#f1fa8c\">&#8217;POST&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;content&#8217;<\/span> => $jsonEncodedMessage,\n    )\n);\n\n$context  = stream_context_create($options);\n$response = file_get_contents(<span style=\"color:#f1fa8c\">&#8217;https:\/\/api.ip1sms.com\/api\/authentications\/validate&#8217;<\/span>, <span style=\"color: #8be9fd\">false<\/span>, $context);\n                                    <\/div>\n                                    <div class=\"validate-php\" style=\"white-space: pre; background-color: rgb(40, 42, 54); color: #fff; padding: 10px; border-radius: 8px; font-family: Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x: auto;\">\n<span style=\"color: #8be9fd\">$submittedCode<\/span> = $_POST[&#8221;code&#8221;]; \/\/ e. g. 453342\n\n    $conf = <span style=\"color: #8be9fd\">array<\/span>(\n    <span style=\"color:#f1fa8c\">&#8217;Phone&#8217;<\/span> => <span style=\"color:#f1fa8c\">&#8217;46712345678&#8217;<\/span>,\n    <span style=\"color:#f1fa8c\">&#8217;Code&#8217;<\/span> => <span style=\"color: grey\">$submittedCode<\/span>,\n);\n\n$jsonEncodedMessage = json_encode($conf);\n$options = array(\n    <span style=\"color:#f1fa8c\">&#8217;http&#8217;<\/span> => <span style=\"color: #8be9fd\">array<\/span>(\n        <span style=\"color:#f1fa8c\">&#8217;header&#8217;<\/span>  => <span style=\"color: #8be9fd\">array<\/span>(\n        <span style=\"color:#f1fa8c\">&#8217;Content-Type: application\/json&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;Authorization: Bearer &#8217;<\/span> . <span style=\"color:#f1fa8c\">&#8217;API key&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;Content-Length: &#8217;<\/span> . strlen($jsonEncodedMessage)\n        ),\n        <span style=\"color:#f1fa8c\">&#8217;method&#8217;<\/span>  => <span style=\"color:#f1fa8c\">&#8217;POST&#8217;<\/span>,\n        <span style=\"color:#f1fa8c\">&#8217;content&#8217;<\/span> => $jsonEncodedMessage,\n    )\n);\n\n$context  = stream_context_create($options);\n$response = file_get_contents(<span style=\"color:#f1fa8c\">&#8217;https:\/\/api.ip1sms.com\/api\/authentications&#8217;<\/span>, <span style=\"color: #8be9fd\">false<\/span>, $context);\n\necho $response;\n                            <\/div>\n                        <\/div>\n<\/div>\n<\/div>\n\n\n\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button mb-5\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/ip1sms.com\/integrera-sms\/\">L\u00e4s mer om att integrera SMS<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vad \u00e4r Multifaktorautentisering? Multifaktorautentisering (MFA) inneb\u00e4r ett extra s\u00e4kerhetssteg f\u00f6r att s\u00e4kerst\u00e4lla att det verkligen \u00e4r r\u00e4tt person som f\u00f6rs\u00f6ker logga in. Det vanligaste tillv\u00e4gag\u00e5ngss\u00e4ttet \u00e4r att anv\u00e4nda MFA kopplad till den ordinarie inloggningsprocessen, som aktiveras n\u00e4r en anv\u00e4ndare har skrivit in sitt l\u00f6senord. Systemet skickar sedan ut en verifikationskod via SMS till anv\u00e4ndarens registrerade [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-887","page","type-page","status-publish","hentry","category-tjanster"],"_links":{"self":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":0,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/pages\/887\/revisions"}],"wp:attachment":[{"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ip1sms.com\/en\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}