<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Magic - Medium]]></title>
        <description><![CDATA[Use Magic and log your users in with just a few lines of code. Simple, secure, and passwordless. - Medium]]></description>
        <link>https://medium.com/magiclabs?source=rss----879bd95001c8---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Magic - Medium</title>
            <link>https://medium.com/magiclabs?source=rss----879bd95001c8---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 25 Mar 2026 23:07:37 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/magiclabs" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Cook Finance Launches Support for Magic]]></title>
            <link>https://medium.com/magiclabs/cook-finance-launches-support-for-magic-3dc19b3a213b?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/3dc19b3a213b</guid>
            <category><![CDATA[defi]]></category>
            <category><![CDATA[index]]></category>
            <category><![CDATA[onboarding]]></category>
            <category><![CDATA[finance]]></category>
            <category><![CDATA[web3]]></category>
            <dc:creator><![CDATA[Maricris Bonzo]]></dc:creator>
            <pubDate>Fri, 04 Mar 2022 15:55:28 GMT</pubDate>
            <atom:updated>2022-03-04T16:23:55.037Z</atom:updated>
            <content:encoded><![CDATA[<h4>We’re proud to announce that Cook Finance now features Magic integration!</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tBgo4FClp9bK1cMKcsYlDA.png" /></figure><h3>Cook Integrates Magic</h3><p>With just a little bit of Magic, users no longer need a wallet to use the Cook Finance platform. Instead, their onboarding experience can be as easy as entering their email address.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-4yjOZ5Gu3pM7DnoVEFHtg.png" /><figcaption>Logging into the Cook Platform with Magic</figcaption></figure><h3>About Cook Finance</h3><p>Cook Finance is an open, transparent, and secure platform that makes it easy to access and participate in the revolutionary world of DeFi. Users on Cook are able to select and create various indexes on the platform, across multiple chains like Avalanche, BNB, Ethereum and more. More specifically, Investors are able to auto-execute strategies (Read), DeFI protocols can contribute liquidity through Cook Protocol’s trade routing (Write), and Fund Managers can focus on index strategy creations (Create).</p><p>Staying true to their mission of bringing web3 to finance, the Cook Finance platform is governed by a <a href="https://gov.cook.finance/">strong community</a> of COOK token holders.</p><h3>A Magical Synergy with Cook Finance</h3><p>No matter if we’re on Amazon, the Metaverse or DeFi — one thing we can all agree on is using <a href="https://medium.com/magiclabs/passwords-suck-6524a8e7aeb5">passwords will always be a nightmare</a>. Now, on top of your password, try remembering a unique 12-word seed phrase for your wallet 🤦‍♀️. Magic removes all of this friction to onboarding onto web3. No need to download a browser extension wallet, no need for a password, and absolutely no seed phrases.</p><p>Instead, what you get is all this and more 🚀:</p><ul><li>high conversion UX that supports 38 languages</li><li>highly scalable &amp; enterprise-grade security</li><li>keys that are exportable and Magic never sees</li></ul><p>Now that Cook Finance has launched support for Magic, users can seamlessly onboard onto the Cook platform. See the integration in action below! 👇</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F30DojTST53E%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D30DojTST53E&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F30DojTST53E%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/13d15e46681cbef43819092565884743/href">https://medium.com/media/13d15e46681cbef43819092565884743/href</a></iframe><p>🥳 We’re thrilled to partner with Cook Finance in making it easier to bring web3 to finance. Any questions about the partnership? Let us know in the comments section below!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3dc19b3a213b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/cook-finance-launches-support-for-magic-3dc19b3a213b">Cook Finance Launches Support for Magic</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Pricing based on Monthly Active Users]]></title>
            <link>https://medium.com/magiclabs/new-pricing-based-on-monthly-active-users-733793b09aa3?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/733793b09aa3</guid>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[developer-tools]]></category>
            <category><![CDATA[pricing]]></category>
            <category><![CDATA[passwordless]]></category>
            <dc:creator><![CDATA[Micky Teng]]></dc:creator>
            <pubDate>Mon, 28 Feb 2022 21:13:53 GMT</pubDate>
            <atom:updated>2022-03-03T21:09:27.443Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Y72U2Dyg-gSA1zzv" /></figure><p>Pricing matters — it’s often one of the first things to consider when adopting a new product.</p><p>That’s why we value transparency not only when it comes to building Magic, but also iterating on pricing. Thanks to all of the helpful feedback from the community, today we’re excited to introduce new and improved pricing plans.</p><p>Since we launched metered pricing (based on logins) last summer, we heard from developers across different sized teams that this model made it harder to predict costs. With that in mind, our new pricing is based on monthly active users, and adds clarity to how you and your teams can make the most out of Magic.</p><p>Before we share more insight into why we’re updating pricing, let’s cover what’s new.</p><p>Note: if you’re an existing Magic customer, these new pricing plans won’t impact your account immediately (and we will be grandfathering in perks!).</p><h3><strong>Our new plans</strong></h3><p>The changes to <a href="https://magic.link/pricing">Magic’s pricing</a> make it simple and straightforward to choose the plan that’s most tailored to your needs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0Sd4QqGf7ALPBHgQ" /></figure><h4><strong>Builder plan</strong></h4><p>With <strong>Builder</strong>, you’ll get 1,000 free monthly active users and 100 free login text messages per month. This plan also gives you access to all login methods, access to all 20 <a href="https://magic.link/docs#blockchains">blockchains</a> to build a dApp, low-code login form, and User Settings, in addition to the ability to add a custom logo and theme.</p><p>For budding startups or indie devs diving into a fun hack project, the Builder plan is a great way to get started with Magic for free.</p><p>Want unlimited monthly active users and text messages? Easily upgrade from the dashboard; add your credit card to keep scaling worry-free. After the first 1,000 MAUs free every month, it’s $0.05 per additional MAU. Similarly, for SMS login, after the first 100 texts are free every month, <a href="https://magic.crisp.help/en/article/sms-pricing-1y7u2ck/?bust=1646078799953">market-rate</a> surcharges apply per text.</p><h4><strong>Enterprise plan</strong></h4><p>With <strong>Enterprise</strong>, you get everything in Builder, plus premium features: multi-factor auth, custom session length, custom email providers (SMTP), additional team seats, and priority support. Volume-based discounts make the Enterprise plan a great fit for customers serving over 20,000 monthly active users. Our Sales team will partner with you to discuss a custom pricing agreement.</p><h3><strong>The “why” behind these changes</strong></h3><p>From conversations with developers and teams of various sizes, we learned the pros and cons of the legacy pricing model.</p><p>As a result, we aimed to keep the “best of” and added key benefits:</p><ul><li><strong>Free to get started</strong> — 1,000 MAUs free, no credit card required</li><li><strong>Suits your needs</strong> — whether you’re an indie dev or a large organization</li><li><strong>Pay as you grow</strong> — self-serve upgrade to unlimited MAUs and login text messages</li><li><strong>Predictability</strong> — unlock volume-based pricing and custom pricing agreements</li></ul><h3><strong>What you can expect</strong></h3><p>We are rolling out new pricing <em>for new users</em> on <strong>March 1, 2022.</strong></p><p>All existing Magic customers will remain on their current plans and will not need to take any action. Our aim is to make the migration as seamless as possible. Over the coming months, we’ll continue giving existing customers a heads-up on the perks that will be grandfathered in, plus the summer migration planned via email and in the Magic dashboard.</p><p>Have questions or input regarding the new plans? We’re all ears and more than happy to help. Contact <a href="https://magic.crisp.help/en/">Support</a> on our site anytime.</p><p>We can’t wait to see the dApps you build.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=733793b09aa3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/new-pricing-based-on-monthly-active-users-733793b09aa3">New Pricing based on Monthly Active Users</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Moralis Launches Support for Magic]]></title>
            <link>https://medium.com/magiclabs/moralis-launches-support-for-magic-a73df19b948b?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/a73df19b948b</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[blockchain-development]]></category>
            <category><![CDATA[authentication]]></category>
            <dc:creator><![CDATA[Maricris Bonzo]]></dc:creator>
            <pubDate>Thu, 03 Feb 2022 16:25:19 GMT</pubDate>
            <atom:updated>2022-02-03T20:04:36.447Z</atom:updated>
            <content:encoded><![CDATA[<h4><strong><em>We’re proud to announce that Moralis now features Magic integration!</em></strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*vMOdzZcbwl1B6jsT" /></figure><h3>Moralis Integrates Magic</h3><p><a href="https://moralis.io">Moralis</a>, the leading Web3 development platform, now features integration for <a href="https://go.magic.link/moralis-web3-magic">Magic</a>. Those who buidl dapps on Moralis can enhance their onboarding flow with Magic.</p><p>With just a few lines of code, your Moralis Web3 project can have a low-friction, high conversion email-link login (#passwordless). The best part? The sign up info from Magic is automatically synced into the Moralis database and is updated in real-time as users make on-chain transactions.</p><p>This integration is in alignment with our goal of bringing the next billion users to web3. Moralis and Magic cuts web3 development time by providing developer-friendly and future-proof infrastructure tools that abstracts away the underlying blockchain tech. The end result? <a href="https://twitter.com/IvanOnTech">Ivan on Tech</a>, CEO of Moralis answers this question best:</p><blockquote>“We couldn’t be happier to launch our Magic integration. It makes total sense for us to combine Moralis’ seamless Web3 development tools with Magic’s silky-smooth user authentication. At the end of the day, this will empower both developers and users, by dramatically reducing onboarding friction for Web3 projects.”</blockquote><p>Over 65,000 blockchain projects are already using Moralis’ software and APIs to easily scale their dApps. Now these projects have the opportunity to easily enhance their onboarding flow with Magic.</p><h3>About Moralis</h3><p>Moralis truly is the ultimate <a href="https://moralis.io/the-ultimate-guide-to-web3-what-is-web3/">Web3</a> development platform. They make it easy to do everything from <a href="https://moralis.io/how-to-build-dapps-on-ethereum/">building Ethereum dapps</a>, <a href="https://moralis.io/how-to-create-a-bsc-token-in-5-steps/">creating BSC tokens</a>, <a href="https://moralis.io/web3-ui-how-to-create-a-great-dapp-ui/">designing a great Web3 UI</a>, and so much more.</p><p>Under the hood, they’ve got a bleeding-edge blockchain infrastructure that’s fully managed and infinitely scalable. Building your dapp on their infrastructure allows you to build and deploy scalable dapps at breakneck speed as it removes the barriers of manually setting up, managing and maintaining your dapp’s backend.</p><p>NFT developers who are wanting to seamlessly build an NFT marketplace, trading interface or token, be sure to check out the <a href="https://moralis.io/ultimate-nft-api-exploring-moralis-nft-api/">Moralis NFT API</a>. As for the developers building dapps and web3 games for the Metaverse, the <a href="https://moralis.io/metaverse/">Moralis Metaverse SDK</a> will empower you to build with Unity and publish on any of the impressive gaming ecosystems supported by Moralis including Xbox, Playstation and more!</p><h3>A Powerful Synergy</h3><p>It’s no question that Moralis and Magic forms a powerful synergy to make both developer and end-user lives easier. We look forward to seeing the Moralis Web3 projects that offer a seamless and delightful user onboarding flow using Magic.</p><p>👋 Ready to give the Magic and Moralis integration a try?</p><p>🎁 <a href="https://go.magic.link/moralis-web3"><strong>Sign up for a Moralis account for free today</strong></a> and then follow <a href="https://docs.moralis.io/moralis-server/users/crypto-login#magiclink"><strong>the docs</strong></a>!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a73df19b948b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/moralis-launches-support-for-magic-a73df19b948b">Moralis Launches Support for Magic</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[3 Types of Passwordless Authentication for Web 3.0]]></title>
            <link>https://medium.com/magiclabs/types-of-passwordless-authentication-for-web-3-958062e9d265?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/958062e9d265</guid>
            <category><![CDATA[passwordless]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[oauth2]]></category>
            <category><![CDATA[public-key-cryptography]]></category>
            <category><![CDATA[identity-management]]></category>
            <dc:creator><![CDATA[Webstacks]]></dc:creator>
            <pubDate>Thu, 30 Dec 2021 18:43:35 GMT</pubDate>
            <atom:updated>2021-12-30T18:43:35.073Z</atom:updated>
            <content:encoded><![CDATA[<p><em>This article was written by Mike Truppa, a content developer and blockchain expert at Webstacks, a </em><a href="https://www.webstacks.com/"><em>website and marketing operations agency</em></a><em> helping high-growth SaaS, FinTech, and Blockchain startups scale.</em></p><p>Passwordless authentication is the future of online security, and promises a future where users don’t need to remember username and password combinations, spend time resetting passwords, and worry about the security of their personal and financial information being stolen.</p><p>Passwordless authentication is a fundamental shift in how people will access their tools and information online, and it will provide more security, prevent billions in losses, and create greater transparency.</p><p>Let’s explore the different types of passwordless technology and compare a few companies offering passwordless authentication software.</p><h3>What is Passwordless Authentication?</h3><p>Passwordless authentication is a method for verifying an internet user’s identity without requiring a password.</p><p>Types of passwordless authentication methods in use today including, magic links, one-time passwords (OTP), biometric authentication, and public-private key pairs using blockchain technology.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*_50hDkuQ3Y-PU4slWvH56A.gif" /><figcaption><em>Diagram of how passwordless authentication solutions work.</em></figcaption></figure><h3>Is two-factor authentication (2FA) passwordless authentication?</h3><p>Because the nature of two-factor authentication (2FA) is to add an additional layer of security to passwords, it can sometimes be mis-categorized as passwordless authentication.</p><p>However, 2FA methods such as <a href="https://medium.com/magiclabs/building-sms-authentication-c2cabccbd5f8">SMS-based authentication</a> would still be considered a one-time password which is a form of passwordless authentication.</p><h3>3 Types of Passwordless Authentication that Eliminate Single Points of Failure from Centralized PAP-based Authentication</h3><p>Today’s password authentication protocols (PAP) are designed with centralized intermediaries or organizations that maintain a database of username-password pairs to prove a user’s identity.</p><p>The central point of failure of PAP-based authentication puts people at risk of hacks, data breaches, identity theft, fraud, and leaks, all of which can be mitigated with passwordless authentication.</p><h3>1. Public-Key Cryptography and Blockchain Authentication</h3><p>Public key cryptography is a form of public and private key authentication, which has been broadly used in the current information world including WebAuthn, machine-to-machine communication, etc.</p><p>Public-key cryptography has exploded in popularity in the last decade in large part because of public blockchains like Bitcoin, Ethereum, and Solana that use public-private cryptography to secure blockchain transactions of digital assets and Non-Fungible Tokens (NFTs).</p><p>Because blockchain technology is built on top of public-key cryptography, they can be confused as one and the same. However, public-key cryptography doesn’t necessitate authentication with a blockchain.</p><p>For example, although <a href="https://magic.link">Magic enables Web 3.0 platforms to connect to public blockchains</a> like Ethereum, throughout the entire authentication flow there is no interaction with the underlying blockchain; no consensus is involved or required to prove the user’s identity.</p><h4>How does blockchain authentication work to prove a person’s identity?</h4><p>Instead of using the traditional method of typing in a username and password, blockchain authentication uses public-key cryptography for self-sovereign identity management.</p><p>When a user creates a wallet account on the blockchain, they receive a private key which only they know, and it is paired with a public key that connects them to the wallet address.</p><p>To access Web 3.0 applications or complete blockchain transactions, the user signs transaction requests using their private key which authenticates their account access.</p><h4>How are blockchains secured using public-key authentication?</h4><p>Blockchains have a variety of security mechanisms to protect the integrity of the blockchain and secure user’s information.</p><p>Bitcoin’s Proof-of-Work and Ethereum 2.0’s soon to be Proof-of-Stake consensus mechanisms ensure censorship resistant networks that are practically impossible to hack.</p><p>To hack (i.e. modify transactions on a blockchain’s distributed ledger) a malevolent user would need to control 51% of Bitcoin’s hash power, or more than 33% of Ethereum’s stake.</p><p>For example, the top four Bitcoin mining pools which power Bitcoin’s Proof-of-Work consensus, control ~60% of the mining power, and to manipulate the network, all four of these independent miners would need to collude.</p><p>As long as someone does not have access to your private key, it is highly unlikely for someone to access your wallet or impersonate the identity tied to your public-private key pair.</p><h3>2. Decentralized Authentication</h3><p>Decentralized authentication means no single centralized platform, organization, person, or entity is needed to verify your identity.</p><p>While blockchain authentication has proven to be a strong use case for decentralized authentication, the two are not the same. You don’t need blockchains to use decentralized authentication methods.</p><h4>What is an ITF?</h4><p>Identity Trust Fabric (ITF) is a decentralized mechanism for establishing trust between credentialed users. ITFs act as middlemen by interacting directly with a centralized intermediary.</p><p>For example, an ITF could handle all the identification and access requests needed from a centralized party. ITFs decrease the risks of sending your confidential information to an organization.</p><h4>What are the tradeoffs between decentralized authentication and blockchain authentication?</h4><p>The main argument for using decentralized authentication methods like ITFs instead of blockchain authentication is the speed and cost of using blockchains.</p><p>However, with the emergence of lightning fast layer one blockchains like Solana, layer 2 solutions built to help Ethereum scale transaction throughput like Polygon, blockchains are quickly becoming a faster, cheaper alternative to traditional decentralized authentication protocols.</p><p>ETH 2.0 brought Proof-of-Stake (PoS) and sharding to the scaling conversation. These aren’t bad options as they do increase the L1 transaction throughput, but to reach scalability where there are millions of transactions on the network on any given day, PoS and sharding simply aren’t enough.</p><h3>3. Distributed Authentication</h3><p>Distributed authentication is a collection of hosts interconnected by a single network. While distributed authentication is the leading choice based on the adoption across the industry, it poses a high amount of<a href="https://research.nccgroup.com/wp-content/uploads/2020/07/common-flaws-of-distributed-identity-and-authentication-systems.pdf"> security threats</a>.</p><h4>Two Common Flaws in Distributed Authentication</h4><p>Two main flaws with distributed authentication are:</p><ol><li>Unconstrained delegation</li><li>Unbalanced authority</li></ol><h4>What is unconstrained delegation?</h4><p>Unconstrained delegation allows some entity to authenticate you as an individual and also authenticate on your behalf (i.e. impersonate, act as you) to another party.</p><p>While unconstrained delegation has benefits such as allowing administrators to update database servers from a web server, it creates an area of exploitation where a hacker with access to admin credentials can unilaterally compromise the system.</p><p>Unconstrained delegation can lead to data breaches, exposing millions of confidential usernames and passwords, causing fraud and potentially billions of damages every year.</p><h4>What is unbalanced authority?</h4><p>Unbalanced authority is when a specific centralized party or system has information that identifies specific principles within the system (e.g. users).</p><p>Unbalanced authority occurs between enterprise businesses where an external business partner is trusted inside the system, allowing them to access company resources.</p><p>When the access granted is over-provisioned it allows external companies access to too much sensitive information that can cause harm to the internal organization and their customers.</p><h3>What type of passwordless authentication does Magic use?</h3><p>Magic uses public-private key authentication. While the authentication flow doesn’t involve interacting with blockchain, Magic’s authentication allows users to interact with blockchains after they are authenticated by binding the authentication to 16+ different blockchain key generation schemes.</p><p>Borrowing security principles from blockchain hardware wallets like Ledger, Magic secures accounts using a combination of <a href="https://www.dropbox.com/s/3flqaszoigwis5b/Magic%20Whitepaper.pdf?dl=0">hardware wallet security and AWS’s Delegated Key Management</a>.</p><p>Software developers can use Magic plug-and-play Software Developer Kit (SDK) to quickly add magic links secured with public-private key authentication to their application.</p><p>A magic link is a special URL that represents a login URL, typically emailed to users at login. This link contains an embedded token that authorizes users without requiring a username or password. Magic also supports other login methods like SMS, Social Logins, WebAuthn and MFA.</p><h3>The Type of Passwordless Authentication You Choose Will Be Different for Each Application’s Security Requirements</h3><p>Passwordless authentication removes the need to remember passwords and for password managers, and improves upon the security benefits of password-based authentication.</p><p>Scalable passwordless authentication tools like Magic help software developers reduce the complexity of securing their applications, while simultaneously hardening security using the best aspects of public-private key cryptography.</p><p>With the mainstream adoption of blockchain technology transforming every business sector, having the option to <a href="https://magic.link/docs/home">bind authentication with 16+ blockchain key generation schemes</a> helps today’s Web 2.0 companies prepare for the future of Web 3.0.</p><p>Passwordless authentication isn’t a zero-sum game. Every business has different needs, and not every type of passwordless solution will fit within the regulatory and compliance needs of each business.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=958062e9d265" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/types-of-passwordless-authentication-for-web-3-958062e9d265">3 Types of Passwordless Authentication for Web 3.0</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Magic Product Updates: December Edition]]></title>
            <link>https://medium.com/magiclabs/magic-product-updates-december-edition-7a24a3dcd4e4?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/7a24a3dcd4e4</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[digital-identity]]></category>
            <category><![CDATA[mfa]]></category>
            <dc:creator><![CDATA[David Meyer]]></dc:creator>
            <pubDate>Mon, 27 Dec 2021 18:18:18 GMT</pubDate>
            <atom:updated>2021-12-28T18:54:19.517Z</atom:updated>
            <content:encoded><![CDATA[<p>Happy holidays to the Magic community!</p><p>Since our last product update, we’ve launched a multifaceted set of capabilities that enable you to do more with Magic.</p><p>In this post, I’ll cover the latest highlights and improvements.</p><h3><strong>Multi-factor Authentication</strong></h3><p>Developers can now enable multi-factor authentication (MFA) for your users! This capability allows customers to add a layer of security to their end-user accounts. This means a secondary factor is validated along with the existing primary factor to log in to an account. Typically, the primary factor is an email, and a secondary factor is a phone number or mobile device authenticator. The idea is that both factors will need to be compromised to breach an account.</p><p>The benefits of enabling MFA include:</p><ul><li>MFA reduces the risk of a compromised account or stolen NFTs by requiring users to provide multiple credentials to access their accounts.</li><li>It protects users from theft. By requiring multiple authentication methods, MFA adds a layer of security from a stolen laptop or device.</li><li>MFA is one of the most straightforward and robust security methods a developer can enable. Magic makes enabling MFA simple with one click in the dashboard.</li><li>It helps your users meet regulatory compliance standards. You should enable MFA if your users must meet HIPAA, PCI, or CJIS compliance standards.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xkljIMYgkwctGOE8" /></figure><p>Magic offers MFA through mobile authenticator apps like Authy or Google Authenticator. Email and SMS primary factors are currently supported. Magic will add WebAuthn, and social login primary factors support in the future. To get started, head to the dashboard and enable MFA or read more about the integration <a href="https://magic.link/docs/login-methods/mfa">here</a>.</p><h3><strong>Custom Email Provider</strong></h3><p>Have you wanted to customize the sender of your email magic link login? With Magic, you can now route emails through your Simple Mail Transfer Protocol (SMTP) server. Enabling the custom email provider gives you complete control over where your app’s login email is sent from, as well as the name of the sender.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*X0e0aGTebKhxI6_o" /></figure><p>Magic will send email magic links through your SMTP server as soon as you configure the custom email provider. Disabling the custom email provider will restore sending emails from <a href="mailto:noreply@trymagic.com">noreply@trymagic.com</a>. Magic’s custom email provider is compatible with leading SMTP servers. Please visit our <a href="https://magic.link/docs/advanced/customization/custom-smtp">docs</a> for more information on how to get started.</p><h3><strong>Teams</strong></h3><p>We believe when it comes to building great apps, collaboration is critical. That’s why we are introducing Teams. Every Magic developer is given a personal team where you can invite up to two collaborators to help integrate Magic, update branding, or manage your users. As a collaborator, you will have access to any teams you have been invited to and your personal workspace.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_K5BcSmnuMhmKZxl" /></figure><p>Teams consist of two basic permission levels: a team owner and collaborators. The team owner has complete control over their account and is responsible for billing and managing team members. Collaborators have access to Dashboard functionality to collaborate on any project within the owner’s account. To add members to your project, head to your Magic Dashboard and look for <strong>My Team</strong> to get started.</p><h3><strong>Magic Login Form: Privacy Policy and Terms of Service</strong></h3><p>Our Magic Login Form enables a developer to integrate passwordless login with just 2 script tags. Seamlessly link to your applications Privacy Policy and Terms of Service and have them shown within the <a href="https://magic.link/docs/login-form">Magic Login Form</a>. to new registering users and returning login users. For more information on embedding a URI, review our script options <a href="https://magic.link/docs/login-form#script-options">here</a>.</p><h3><strong>SMS Login for SDKs</strong></h3><p>SMS Login support has been expanded to our Mobile, Flutter, iOS, and Android SDKs! This release enables developers to easily integrate SMS Login to their applications on any of the supported platforms.</p><h3><strong>Thank you</strong></h3><p>As 2021 comes to a close, I want to thank you for your support over this last year! At Magic, we are focused on helping our fast-growing developer community solve complex authentication, decentralized identity, and blockchain problems. So I want to invite you to join the Magic community on <a href="https://community.magic.link/">Discord</a>, say hello, share product ideas and help others learn in this technology space.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7a24a3dcd4e4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/magic-product-updates-december-edition-7a24a3dcd4e4">Magic Product Updates: December Edition</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Multichain: What it is, why it matters]]></title>
            <link>https://medium.com/magiclabs/multichain-what-it-is-why-it-matters-a24093899fb3?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/a24093899fb3</guid>
            <category><![CDATA[multi-blockchain]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[crypto]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <dc:creator><![CDATA[Jaemin Jin]]></dc:creator>
            <pubDate>Wed, 03 Nov 2021 14:10:10 GMT</pubDate>
            <atom:updated>2021-11-04T17:06:18.775Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YoU_aD6-TpAtMy4JrR11lQ.png" /></figure><p>Blockchain technology has come a long way over the last decade, from Bitcoin enabling a secure, decentralized, and trustless way to transfer value, to Ethereum enabling smart contracts and decentralized applications, opening up a wider range of logic with new use cases. We are already seeing a fast rate of adoption in blockchain applications such as decentralized finance (DeFi), non-fungible tokens (NFTs), and decentralized autonomous organizations (DAOs). Many blockchains outside of Bitcoin and Ethereum are also gaining adoption, widening the funnel for the mainstream to enter this space. The time is ripe for multichain.</p><h3><strong>Layers in the blockchain</strong></h3><p>Before diving into multichain, let’s first go over the three layers in the blockchain ecosystem: layer 0, layer 1, and layer 2.</p><p><a href="https://coinmarketcap.com/alexandria/glossary/layer-0">Layer 0</a> (L0) is the base layer among blockchain protocols. Think of it as a blockchain of blockchains. It supports different types of blockchains and allows them to interoperate with one another (e.g. Polkadot and Cosmos).</p><p>Today, if you ask anyone outside of the vibrant crypto community to describe blockchain, most would mention: Bitcoin (or maybe Dogecoin). Bitcoin and Dogecoin are both layer 1. <a href="https://thedefiant.io/whats-layer-1-vs-layer-2/">Layer 1</a> (L1) is a blockchain itself and acts as the base layer for applications.</p><p><a href="https://thedefiant.io/whats-layer-1-vs-layer-2/">Layer 2</a> (L2) is a network built on top of the underlying layer 1 blockchain. They are designed to help scale the underlying blockchain, for instance, by handling the computation of many transactions off-chain and submitting a single proof so that users can enjoy fast transaction speed and low gas cost for using the network.</p><h3><strong>Enter multichain</strong></h3><p>A multichain world represents the world of multiple blockchains <em>spanning</em> layer 0 to layer 1 to layer 2.</p><blockquote><em>We believe multichain is already here.</em></blockquote><p>Check <a href="https://cryptofees.info/">cryptofees.info</a>, a site that offers usage metrics on blockchains and protocols, today versus a year before today.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*an1SsbCiRV6YaoAE" /><figcaption>Crypto Fees chart, 1 year ago</figcaption></figure><p>A year ago, Ethereum, Bitcoin, and protocols built on Ethereum represented nearly the entire list. Today, new players — L1s outside of Ethereum, protocols built on separate L1s, and various L2s — have gained popularity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_33V9fTR_a3yGpX6" /><figcaption>Crypto Fees chart, today</figcaption></figure><p>This is not to say Ethereum combined with its ecosystem of protocols is losing its dominance, but rather the total addressable market is being realized faster. This trend is just getting started. Time will tell, but we do not see this as a winner-takes-all-market.</p><p>Currently, adoption of multichain seems to be mainly driven by problems stemming from network congestion in blockchains with high demand. This means that since there is so much demand to use the blockchain, unless you pay really high gas fees, your transaction will take a long time to be completed. As a result, other blockchains that focused on scalability (fast transaction times) with low cost of entry (cheaper gas fees) have benefited . Of course, this provokes the question: is it acceptable to compromise security and decentralization for scalability? Is it making the right tradeoffs in the blockchain <a href="https://medium.com/certik/the-blockchain-trilemma-decentralized-scalable-and-secure-e9d8c41a87b3">trilemma</a> model? We will dive more into that in the next section.</p><p>At Magic, we would like to share our thoughts on pragmatically taking Web3 to the mainstream, and this starts with focusing our lens from a purely UI/UX perspective.</p><blockquote><strong><em>Scalability</em></strong><em> and </em><strong><em>cheaper gas fees</em></strong><em> as the two main factors that need to be addressed to onboard the next billion Web3 users.</em></blockquote><p>Scalability enables fast transactions. Fast transaction time is already a massive UI/UX improvement. Just look at Amazon losing revenue for <a href="https://www.gigaspaces.com/blog/amazon-found-every-100ms-of-latency-cost-them-1-in-sales">every hundred milliseconds of latency</a>. Unless everyone goes down the rabbit hole of how blockchains actually work, people will simply not wait and drop off. Time is precious.</p><p>Cheaper gas fees lower the cost of entry for the mainstream. Currently, the “mass” are priced out of using Ethereum (hopefully ETH2 + L2s will address this) for a few reasons:</p><ul><li>Not understanding or appreciating the cost of using a highly secured and decentralized blockchain which does not justify the high cost they need to pay to use the blockchain</li><li>Not having enough capital to use chains with high demand</li></ul><p>Thankfully, there is great progress in L0s, L1s, and L2s working in tandem to address those issues and level the playing field for everyone.</p><h3><strong>Multichain is a choice</strong></h3><p>What should the right mental model be for deciding which blockchain to pick over another? Is the blockchain <a href="https://medium.com/certik/the-blockchain-trilemma-decentralized-scalable-and-secure-e9d8c41a87b3">trilemma</a> model the only one to look at? There are different implications that you may run into when you compromise one aspect over another. At the same time, this is not completely binary. It is more like playing around with the levers based on your preference or requirements. How much speed does your application need? How much decentralization is enough? How much security is required?</p><p>Let’s go over some hypothetical scenarios with respect to the trilemma model:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tnoJ_HCk1AKazVuyk4BEzA.png" /></figure><ul><li>Your application does not benefit from the network effect of users that already exist in the blockchain. You are also concerned that you may experience network congestion issues during busy times even in scalable blockchains that could affect your app’s experience. It would make sense to launch your own blockchain on L0. This likely means you would first be prioritizing speed and security over decentralization.</li><li>You are launching a DeFi application and your #1 priority is tapping into the blockchain with the most liquidity and the network effect of DeFi users. Fast transaction speed and low gas cost are nice-to-haves. It would make sense to launch your application on a blockchain with the most liquidity and many DeFi users. People would be most comfortable providing liquidity to the blockchain that is secure and decentralized.</li><li>You would like to tap into a diverse set of user bases. It would make sense to launch your application on multiple chains with different sets of user bases. If the user base is the top priority, perhaps the trilemma model does not matter as much.</li><li>You are launching a NFT game application and you care about fast transaction speed and low gas cost. It would make sense to launch your application on a highly scalable chain that offers low gas cost. This likely means you would be prioritizing speed over security and decentralization.</li></ul><p>It does not always have to be systemic related. There could be one blockchain community that really aligns with your ethos and you are also aligned with their vision that they are chasing towards and you would like to be part of their journey. Or you may strongly care about developer experience, and the blockchain project that offers the best developer experience according to your criteria may be attractive to you.</p><p><strong>In the end, multichain is a choice.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*RBRhsvpES0XNIHNE" /></figure><h3><strong>Magic and multichain brings us closer to mainstream adoption</strong></h3><p>At <a href="https://magic.link/">Magic</a>, we serve developers.</p><blockquote><em>Magic is empowering developers with the tools needed to put them in the best position to succeed. This is why we are committing to supporting the multichain ecosystem.</em></blockquote><p>We are here to support developers when they have made their choice.</p><p>Multichain opens up so many more possibilities and enables us to think bigger — mainstream adoption. Mainstream adoption starts with onboarding.</p><p>Magic started out in the world of Web3. We have been laser-focused on helping companies from gaming to NFT marketplaces to media, onboard millions of mainstream users to decentralized apps and platforms, like:</p><ul><li><a href="https://medium.com/magiclabs/async-art-is-bringing-nfts-to-life-with-a-little-help-from-magic-ef558e7c1184">Async Art</a></li><li><a href="https://medium.com/magiclabs/fairmint-uses-magic-to-offer-the-smoothest-user-experience-in-web-3-0-a778a4f9a997">Fairmint</a></li><li><a href="https://medium.com/magiclabs/how-magic-helps-showtime-build-community-around-crypto-art-dccd01a38927">Showtime</a></li><li><a href="https://medium.com/magiclabs/decrypt-trusts-magic-to-onboard-record-new-user-growth-with-the-launch-of-reader-tokens-and-rewards-14d791e582d5">Decrypt</a></li></ul><p>Currently we support <a href="https://magic.link/docs/home#blockchains">18 blockchains</a>, with more coming in the pipeline.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*iE_F9aAFM7ZOlvUG" /></figure><p>If you’re interested in learning and discussing multichain in more depth, join us on the <a href="https://discord.com/invite/magiclabs">Magic Discord</a>! If you’re a developer looking for plug and play auth and non-custodial key management, <a href="https://dashboard.magic.link/signup">try Magic out for free</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a24093899fb3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/multichain-what-it-is-why-it-matters-a24093899fb3">Multichain: What it is, why it matters</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Magic Product Updates: October Edition]]></title>
            <link>https://medium.com/magiclabs/magic-product-updates-october-edition-859fd22153f2?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/859fd22153f2</guid>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[digital-identity]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[sms]]></category>
            <dc:creator><![CDATA[David Meyer]]></dc:creator>
            <pubDate>Mon, 01 Nov 2021 15:52:35 GMT</pubDate>
            <atom:updated>2021-11-01T15:52:34.983Z</atom:updated>
            <content:encoded><![CDATA[<p>It’s David here from Magic. I am joining as one of the newest Magicians and as Product Lead. I am excited to welcome you to our October product update!</p><p>Since our last update, we’ve launched new features that make it even faster for you to get started with Magic and reach more customers.</p><p>In this post, I’ll cover the latest highlights and improvements.</p><h3><strong>Magic Login Form</strong></h3><p>Now with Magic, you can integrate a full end-to-end login solution to your web app with just two script tags. Your web app is future-proof as all login options and brand settings can be controlled through the Magic dashboard. Magic Login Form provides a complete login solution giving you full access to passwordless login and social logins. Magic Login Form provides a login form optimized for conversion and gives you control over your branding. All customizations can be configured from the Magic dashboard without requiring additional code updates.</p><p>To get started, head to our documentation <a href="https://magic.link/docs/login-form">here</a>. Magic Login Form is compatible with allow list and block list, session management, and other features.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ryn9Q6uLmJJUkt7N" /></figure><h3><strong>SMS Login</strong></h3><p>Did I mention SMS login? In October, we released passwordless login support for short message service (SMS). With SMS login, any customer with a mobile phone can use their mobile phone number to login to your web app on a desktop, tablet, or mobile device. To login, the customer will provide their mobile phone number instead of an email or other username and password combination. Next they will receive a one-time code and enter that to complete their login to your application.</p><p>SMS login has several advantages including:</p><ul><li>Mobile phones are popular in markets all around the world and can expand your application’s reach.</li><li>SMS login provides a convenient way for your customers to get signed in because it does not require a context change and users often have a mobile phone nearby.</li><li>Returning customers don’t need to remember a password to get signed in. This can improve your customer retention and eliminate your forgotten password support cost.</li><li>SMS login allows you to verify the mobile phone number for each new registered user when they complete login.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*mY5xxaTNNDJL80cL" /></figure><p>To get started, open your Magic dashboard and navigate to Passwordless Login. From there, you can enable SMS in one click. SMS is compatible with the Magic Login Form, web, React Native, and Magic’s <a href="https://wordpress.org/plugins/magiclabs">Wordpress plugin</a>. Users who sign up on your website will show in your user dashboard. SMS is supported in 38 locales. For more information, see our SMS doc <a href="https://magic.link/docs/login-methods/sms/build-a-demo/browser">here</a>.</p><h3><strong>Bitcoin Support</strong></h3><p>Web 3.0 developers can now connect to the Bitcoin blockchain using Magic. Bitcoin is the world’s most recognizable digital currency and offers a way for developers to connect their decentralized apps (dApps) with mainstream customers. Developers who enable this will be able to onboard new customers easily with Magic’s passwordless user login and a Bitcoin wallet address. Bitcoin is just one of the 18 blockchains Magic currently offers. Head over to our <a href="https://magic.link/posts/magic-bitcoin">guide</a> to integrate Bitcoin today!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*VLyZqIAaiJRGs8F5" /></figure><h3><strong>Flutter SDK</strong></h3><p>We are also excited to share that you can now bring passwordless login to your iOS and Android-based Flutter apps with the new Magic Flutter SDK. Flutter has taken off as an efficient framework for developers to build iOS and Android based apps for both platforms, once. The Magic Flutter SDK speeds up your time to market and gives you flexibility to use popular Social and passwordless logins. To learn more, visit our docs <a href="https://magic.link/docs/login-methods/email/integration/flutter">here</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*3AP1BZ4yX-5iHXv6" /></figure><h3><strong>Lastly</strong></h3><p>Everyone is invited to join us on Discord, where the Magic team and community gathers to chat, as well as help answer questions you might have.</p><p>Whether you’re a developer or just keen to<a href="https://community.magic.link/"> join the discussion</a> on auth, decentralized identity, or other modern infra like blockchain — come and say hi!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=859fd22153f2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/magic-product-updates-october-edition-859fd22153f2">Magic Product Updates: October Edition</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building a low-code, opinionated approach to plug & play login]]></title>
            <link>https://medium.com/magiclabs/building-a-low-code-opinionated-approach-to-plug-and-play-login-21bb30dca9a4?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/21bb30dca9a4</guid>
            <category><![CDATA[low-code-development]]></category>
            <category><![CDATA[passwordless]]></category>
            <category><![CDATA[low-code]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[login-form-design]]></category>
            <dc:creator><![CDATA[Ian K Smith]]></dc:creator>
            <pubDate>Wed, 27 Oct 2021 00:37:31 GMT</pubDate>
            <atom:updated>2021-10-27T00:37:31.881Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Stylized collection of different Login Form implementations" src="https://cdn-images-1.medium.com/max/1024/1*rPydpRuMr-2diB702QsEWA.png" /></figure><p>It feels so long ago that Magic unveiled its first auth solution in April 2020. JAMstack was having a moment, and so were NFTs. The world had just begun to reckon with shutdowns and social distancing. A surge in remote work showed us that online identity was overdue for a refactor. Centralized infrastructures were being challenged everywhere.</p><p>Back then, all it took was one line of code to implement Magic.</p><figure><img alt="Code snippet reading “import { Magic } from ‘magic-sdk’; const magic = new Magic(‘[your API key]’); await magic.auth.loginWithMagicLink({…});" src="https://cdn-images-1.medium.com/max/1024/1*inXwxhzVLda3TqWg0jHQIQ.png" /></figure><p>We used to hear lots of positive feedback about our whole developer experience. Those docs, you know? So clean.</p><figure><img alt="Screenshot of Magic’s original documentation with positive feedback from Eric Elliott, Ian Rumac, and Denis Kryukov" src="https://cdn-images-1.medium.com/max/1024/1*-9wWwouwG2E6l_MYEszUSA.png" /></figure><p>A year since, the world of web development is again at a threshold. We’re inundated with feedback from users that want a multitude of sign-in options. They want to feel secure, they want to own their data. They desire convenience and seamlessness. Providing an auth experience that serves every user, no matter their technical acumen or accessibility needs, is a costly undertaking for app creators. That’s because building a Magic implementation <em>never really was just one line-of-code.</em> You still have to create buttons, composed into forms, connected to a server. Model user accounts, measure conversion rates, but wait… did I aria-label that button right? Hold on, we need a combobox? Now add social logins to the mix: what the heck is OAuth? Or WebAuthn? This login page is turning into infinite story points!</p><p>As we added more and more choices for sign-in, we heard feedback that Magic was harder to use, especially for no-code builders. So, what happened? And why should auth — something that every app needs — be so difficult to build and maintain? That’s a question that’s been bugging me for some time now. I lead the engineering team for developer experience at Magic, so we aimed to set a new standard to help our customers build auth more quickly, more securely, more accessibly, and more user friendly-y.</p><h3>Occam’s auth</h3><p>The <em>aha</em> moment came from the simple realization that most modern auth flows follow a discrete pattern: authorization and callback. You prompt a user to authorize themselves, traditionally with an email + password. Or, a more modern (<a href="https://medium.com/magiclabs/passwords-suck-6524a8e7aeb5">and more secure</a>) approach would use social logins, or Magic’s own passwordless email/SMS flows. Once a user has submitted their proof-of-identity (“authorization”), the app has to then verify this information (“callback”). In the case of social logins, this requires checking a one-time code built around some fancy, math-y cryptographic stuff. Or, using Magic’s passwordless SDKs, you just call getRedirectResult for social logins and loginWithCredential for email/SMS. Building auth for the web essentially boils down to two big function calls. Noticing this, however, presents an opportunity to do what we engineers love to do best: <em>abstract!</em></p><p>But we weren’t going to make just any abstraction.</p><blockquote><em>We want a new paradigm that speaks to the power of web development today and uses web primitives in such a way that the solution can slot into just about any tech stack.</em></blockquote><blockquote>We’re especially excited about no-code and low-code platforms like Webflow and Bubble, so we made it a priority to support those tools as natively as possible.</blockquote><h3>Introducing (truly) plug &amp; play auth</h3><p>Today, we’re introducing a new way to implement Magic auth for the web: <strong>Magic Login Form</strong>.</p><p>We think it delivers on the promise of Magic as the easiest, most flexible, and most extensible auth solution available. <strong>That’s because we want your frontend implementation to be as simple as copy &amp; paste.</strong></p><p>Everything you need to start securely authenticating your users with any of Magic’s sign-in methods is <strong>two </strong><strong>&lt;script&gt; tags away:</strong></p><figure><img alt="Code snippet showing Magic’s login form implementation, consisting of two simple script tags" src="https://cdn-images-1.medium.com/max/1024/1*ae-aanw2Yc1qGJHPj4k6RA.png" /></figure><p>That’s all it takes to connect your app to Magic’s entire suite of auth features. You get a beautiful, accessible login screen with UI best-practices built-in — we’ll even remember which auth method users previously signed-in with. And better yet, your implementation is future-proof and automatically updates with Magic’s service. So, when Magic adds support for your favorite social login provider, you don’t need to deploy an update. Your users will see the latest changes automatically. All of this happens inside of an &lt;iframe&gt; hosted on your domain, so users aren&#39;t left questioning what service they&#39;re interacting with, reducing the risk of phishing.</p><figure><img alt="Example login view on desktop and mobile web for a fictional app named Blanche" src="https://cdn-images-1.medium.com/max/1024/1*a3eE297TfEcsK9fDSSfkKw.png" /><figcaption>An example of a fully-branded Magic Login Form</figcaption></figure><blockquote><em>At Magic, we think developer experience </em>is<em> user experience.</em></blockquote><p>So we’re trying to remove as many barriers between you and your creativity as possible. With Login Form, you can stop worrying about auth and start focusing on what matters to your users and your business. Though it’s still not quite “one line of code” for everything auth, it’s <em>a hell of a lot closer</em> than we’ve seen anywhere else, and we’re excited about its potential to improve the auth experience for everyone on the web, long into the future.</p><h3>The first prototype</h3><p>At Magic, we promote a culture of creative experimentation, and we put this into practice during bi-weekly “demo days.” Everyone on the team has an opportunity to share something they’re working on — whether it’s related to a milestone project, or just a blossoming idea. Some of our best features sparked this way, usually based on pure intuition and user empathy. This takes a lot of introspection as a team. If we’re knowledgable of ourselves, it tends to manifest in great products for our users. So, demo day is also an opportunity for us to invest in each other.</p><p>When Login Form made its first appearance at demo day — unplanned and off-the-cuff — it looked like this:</p><figure><img alt="Screenshot from Magic’s biweekly demo day, where the plug &amp; play login form was first debuted" src="https://cdn-images-1.medium.com/max/1024/1*sORt5y_zXvTn5vgfQ9cQvQ.png" /></figure><p>The inspiration for that demo had simmered for a while. When we talked about this “big idea,” to make auth simple and clean and future-proof, it was sandwiched between phrases like “pie-in-the-sky” and “someday…” But, to produce that working proof-of-concept was a matter of hours (it helps, of course, <a href="https://www.youtube.com/watch?v=7s664NsLeFM">that we already had a universe in which to bake our apple pie</a>).</p><p>Demo day was a hit, but that’s only where the real work began.</p><h3>The “real” work</h3><p>For the developer experience team, Login Form meant so much more than a pre-packaged UI. It represented a whole new, opinionated implementation approach. Building a login page is pretty easy to “get”, even if you’re not an engineer. We’ve seen a thousand login pages before. But we still had to explain this implementation approach in a way that our product designers and marketing extraordinaries could relate to — we needed to help them tell a story. So, we went back to the drawing board.</p><figure><img alt="A collection of 6 early UI explorations for the Login Form, along with the final design" src="https://cdn-images-1.medium.com/max/1024/1*h9-IrCkar-lJcpxnbmBW3Q.png" /><figcaption>Snapshots from the UI design process</figcaption></figure><p>It didn’t take long to find consensus on a UX pattern. Again, it’s a login page (a damn good login page). We started with a few design goals:</p><ol><li>Login Form should be adaptive to a developer’s Magic Dashboard settings, creating a seamless development experience. If you add some Google creds to your Magic account, then Login Form should instantly reflect that.</li><li>Logging in should be quick, easy, and frictionless — users should never feel lost in sea of sign-in options. So, we want to remember what sign-in method a user has previously used for an app, then we can focus them on the right form automatically.</li><li>Good design is inclusive design. Our entire login experience should reflect UI best practices and accessibility standards, above and beyond simple compliance.</li><li>The design should be extensible. While we’re super proud of our initial release, we’re already thinking about ways to make Magic Login Form even better. Simplicity and flexibility help ensure we’ve got room to grow moving forward.</li></ol><figure><img alt="3 versions of the Magic Login form, illustrating the default state, basic branded view, and special state shown to returning users" src="https://cdn-images-1.medium.com/max/1024/1*4zLUE1F8oeWSNjU0pEeA4w.png" /></figure><h3>A new onboarding experience for developers</h3><p>Magic Login Form represents a new onboarding experience for end-users, so we wanted to revamp our own onboarding experience for developers to match. Learning about auth can quickly derail any developer’s good day. <strong>Striking the balance between good UX and good security</strong> can just boggle the mind. Even building on top of a solution like Magic can quickly spiral into a thousand-thousand esoteric questions. UX tends to be the last box on the auth checklist. So, how do we show-off the “easy button”? We started by looking at our own sign-up experience on Magic Dashboard.</p><p>After you’ve completed our passwordless email flow for the first time, you see a screen like this:</p><figure><img alt="Product screenshot containing “npx make-magic” code block" src="https://cdn-images-1.medium.com/max/1024/1*eFHpf4T2ytW5tfR0d6Uucw.png" /></figure><p>When we created npx make-magic, we sought to speed-up development of new projects using Magic. When we added this screen to our sign-up flow, however, we saw a mixed response. Some, especially those from a JAMstack background, were happy to see familiar tooling options. Others were unsure about what npx make-magic was <em>doing</em> in their system, and why they were being asked to start there. One developer was confused upon seeing npx, thinking that Magic worked exclusively for the NodeJS ecosystem—an impression we wanted to correct. <strong>The easiest decision for us was to strike this page from our sign-up flow completely.</strong></p><p>We replaced this piece of the onboarding puzzle with a new <strong>Login Form</strong> settings page. From here, developers can access an interactive preview of their customized form. We also introduced a new featured card to Magic Dashboard’s home page, surfacing this new implementation approach with a beautiful, eye-catching design.</p><figure><img alt="Close-up mockup of the new Magic Login Form feature announcement card shown on the Home page of the Magic Dashboard" src="https://cdn-images-1.medium.com/max/1024/1*9hZZVNygBaab5iB7W2Hxdg.png" /></figure><h3>Now what?</h3><p>Getting started with Magic Login Form is super easy. <a href="https://dashboard.magic.link/">Log into your Magic Dashboard account</a> and go to <strong>Login Form</strong>. Try a demo for your very own plug &amp; play login page. You’ll also see a link to download a working implementation using y<em>our actual API keys!</em></p><p>We’ve also written some <a href="https://magic.link/docs/login-form">documentation</a> to help you build a plug &amp; play login experience from the ground up. And, of course, we have added a template to our CLI scaffolding tool to generate a working implementation in under a minute. Simply run the following command in your preferred shell:</p><p><strong>npx make-magic --template plug-and-play</strong></p><h3>So long, and thanks for all the fish!</h3><p>We hope you enjoyed this peek behind-the-curtain of the all-new Magic Login Form (fun fact: our internal code name was <em>“Auth-in-a-box”</em>). By the way, it’s totally free to try. If you’re interested in getting more involved, join the <a href="https://discord.com/invite/magiclabs">Magic Discord server</a>, where you can provide feedback or connect with a vibrant community of developers.</p><p>And one more thing: <a href="https://magic.link/careers">we’re hiring!</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=21bb30dca9a4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/building-a-low-code-opinionated-approach-to-plug-and-play-login-21bb30dca9a4">Building a low-code, opinionated approach to plug &amp; play login</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building SMS Authentication is Challenging]]></title>
            <link>https://medium.com/magiclabs/building-sms-authentication-c2cabccbd5f8?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/c2cabccbd5f8</guid>
            <category><![CDATA[passwordless]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[sms]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[authentication]]></category>
            <dc:creator><![CDATA[Ben Draffin]]></dc:creator>
            <pubDate>Wed, 27 Oct 2021 00:36:13 GMT</pubDate>
            <atom:updated>2021-10-27T20:35:07.107Z</atom:updated>
            <content:encoded><![CDATA[<h3>Developers: SMS Authentication is Challenging</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cLOjoqxH-pO13wMAnNdPTA.png" /></figure><p>Phones are ubiquitous; the largest segment of the world’s computing base. However, despite significant market adoption of a few operating systems, interoperable standards for messaging are rare, and often segmented.</p><p>SMS (Short Message Service) messaging¹, despite a number of material challenges, has broad adoption, international regulations, and support across platforms.</p><p>This post details the use of SMS as an authentication mechanism.</p><h3>What is a high quality SMS login system?</h3><ul><li>Easy for Users, Hard for Attackers</li><li>Works globally, across all cellular carriers, even in lossy service environments.</li><li>Enrollment, opting out, and authentication are beautiful, simple processes.</li><li>Confidence the user has access to their phone, and the phone number is valid.</li><li>When users change their phone number, they don’t stop using the service; they can migrate to a new phone number smoothly.</li><li>When an attacker pretends to be a user, they are prevented from taking over the account.</li><li>A user should not be easily duped into helping their attackers.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Opo8I0qg1hPNOU4tmdMR6Q.png" /><figcaption>Authentication is a two-way street</figcaption></figure><h3>SMS can be temporarily undeliverable</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OFXYF98msEBEEPjdIxJyqg.png" /></figure><p>SMS delivery is not guaranteed, and many implementations provide no mechanism through which a sender can determine whether an SMS message has been delivered.</p><p>💡 <em>Allow users to request a new code as part of the product. Use a different code for each message.</em></p><h3>SMS can be permanently undeliverable</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X0ZorFK7sUzRRDhq3qYVxQ.png" /></figure><p>Users can request to stop receiving SMS from a particular sender, often by replying with ‘STOP’. Users will no longer receive messages.</p><p>In the United States, FCC affirms text messages are covered under the “<a href="https://www.fcc.gov/tags/telephone-consumer-protection-act-tcpa">Telephone Consumer Protection Act</a>”, and users have a variety of rights, including to Opt-Out.</p><p>💡<em> Notify users when their phone number is undeliverable: either in-app, or via email</em></p><h3>Messages can come from unfamiliar sources</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iZ_llHpk-5xiP-0kpqq0fw.png" /></figure><p>SMS standards make spoofing phone numbers difficult. However, no easy way exists for consumers to authenticate numbers or associate them with businesses. Messages appear with only a number to identify them.</p><p>Users are habituated to ignore sender ids, or react with suspicion when numbers are changed.</p><p>💡 <em>Include information about the sender in your message “Your </em><a href="http://ACME.co"><em>ACME.co</em></a><em> Code: 123–123”, or use Domain-Bound Codes</em></p><h3>Users can be on fraudulent sites</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rJ75P2ZJeuXwPJ_wvtvy5w.png" /></figure><p>Some sites trick users into entering authenticator codes for other sites. A common ploy asks for a user’s phone number, and prompts the user to enter the code they receive. The attacker simply forwards the collected code to the target, and successfully poses as the end user.</p><ol><li>User Logs in to Fraud Site. Provides User phone number</li><li>Fraud Site forwards request to Real Site</li><li>Real Site sends User a SMS challenge. However, User thinks it comes from the Fraud Site</li><li>User enters correct SMS onto Fraud Site</li><li>Fraud Site / Attacker uses correct SMS to log into legitimate site</li><li>Attacker now has legitimate session on real site</li></ol><p>💡 <em>Include information about the sender in your message<br></em><em>Your ACME.co Code: 123–123 or use Domain-Bound Codes</em></p><p>💡<em> Monitor for automations and headless browsers attempting your site’s login flow</em></p><h3>Users can change their phone number</h3><p>Users, particularly those outside of the United States, change their phone numbers often, giving rise to the popularity of messaging applications.</p><p>💡 <em>Facilitate self-service recovery of SMS logins through alternative channels</em></p><h3>Attackers request control over phone numbers</h3><p><a href="https://en.wikipedia.org/wiki/SIM_swap_scam">SIM-swapping attacks</a> are social engineered takeovers of a user’s telecom contract. Calling customer support and transferring phone numbers between phones is common practice for consumers, and is exploited by attackers to capture SMS messages.</p><p><a href="https://www.wired.com/story/sim-swap-attack-defend-phone/">Users can, though rarely, defend themselves</a>, and unfortunately many users remain susceptible to these risks.</p><p>💡 <em>Many SMS vendors provide carrier information in their API responses. If the carrier changes for a given number, send a confirmation email.</em></p><h3>Domain bound codes, an emerging solution</h3><p>The emerging standard for SMS security is to use Domain-Bound Codes for authenticating and protecting SMS messages.</p><p>Messages are formatted to describe their sender, and allow automated tools to read those messages to auto-fill or protect users.</p><p>Major mobile operating systems support or plan to support domain-bound codes.</p><pre>123-456 is your ACME.co code.<br>@acme.co #123-456</pre><p><a href="https://developer.apple.com/news/?id=z0i801mg">Enhance SMS-delivered code security with domain-bound codes — Apple Developer</a></p><h3>Providing a good SMS user experience</h3><p>SMS login flows can be complex to build and manage, but a few considerations will make the experience as smooth as possible for your users.</p><h4>Allow users to copy-paste into your SMS input box</h4><ul><li>Diverse interfaces exist for mobile devices, and users may not type in codes using a keyboard. Allowing paste makes your service more accessible, and a smoother end user experience.</li></ul><h4>Using numeric codes? Label your input box as `numeric`</h4><ul><li>Phone soft keyboards use information about the input box to render the most usable keyboard for the use case. Showing a numeric keypad helps make entering codes as easy as possible</li></ul><h4>Supporting iOS users? Tag login boxes with textContentType</h4><ul><li>Operating systems such as iOS make it easy to fill in one time codes from SMS messages. Apple uses a text content tag of textContentType=.oneTimeCode to allow users to auto-fill new SMS codes into the page.</li></ul><h4>Building with Google Play? Consider auto-verification with the SMS Retriever API</h4><ul><li>Android’s Google Play Services offer a collection of <a href="https://developers.google.com/identity/sms-retriever/overview">advanced SMS tools for verification</a> of SMS codes, including supporting background verification.</li><li>With the <a href="https://developers.google.com/identity/sms-retriever/overview">SMS Retriever API</a>, It is possible to build almost silent user and device verification, however, fallback support for traditional SMS is required, and informing users about what is occurring is critical for building user trust and comfort.</li></ul><h4>Building Web Applications? Use `autocomplete=&quot;one-time-code&quot;`</h4><ul><li>Many browsers facilitate SMS message autofill through input code <a href="https://developers.google.com/android/work/play/emm-api/prov-devices">tags for autofill</a>, such as autocomplete=&quot;one-time-code&quot;. This can provide smooth user experiences cross-platform, and allow your product to take advantage of built-in browser functionality.</li></ul><h3>Using Magic for SMS authentication</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TOddwgZQCZ15HAFsmpnVxw.png" /><figcaption>Magic Dashboard</figcaption></figure><p>With challenges ranging from usability, deliverability, internationalization, fraud, bots, social engineering, and multi-device support, the simple user experience of SMS login comes with complexity for developers.</p><p>Magic makes authentication easy for you and your users. Supporting a broad array of use-cases with a beautifully designed developer experience, <a href="https://magic.link/docs/login-methods/sms/build-a-demo/browser">getting started</a> with SMS login is easier than ever.</p><h3>Learn more about SMS Login and Magic</h3><p>Join Magic’s Discord: <a href="https://discord.com/invite/magiclabs">https://discord.com/invite/magiclabs</a></p><p>Follow Magic on Twitter: <a href="https://twitter.com/magic_labs">https://twitter.com/magic_labs</a></p><p>¹Note: the terms ‘SMS’, ‘message’, and ‘text’ are used colloquially to refer to ‘Short Message Service messages’</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c2cabccbd5f8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/building-sms-authentication-c2cabccbd5f8">Building SMS Authentication is Challenging</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Magic Product Updates: September Edition]]></title>
            <link>https://medium.com/magiclabs/magic-product-updates-september-edition-2c6659bcb7e1?source=rss----879bd95001c8---4</link>
            <guid isPermaLink="false">https://medium.com/p/2c6659bcb7e1</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[identity]]></category>
            <dc:creator><![CDATA[Micky Teng]]></dc:creator>
            <pubDate>Tue, 28 Sep 2021 13:57:29 GMT</pubDate>
            <atom:updated>2022-03-07T18:56:18.313Z</atom:updated>
            <content:encoded><![CDATA[<p>We’ve launched new features that give you more control to tailor your users’ experience signing into your application.</p><p>In this post, I’ll cover a round-up of the most recent product updates.</p><h3><strong>Allow List and Block List</strong></h3><p>Last month, we released Allow List and Block List, an access control feature that helps you easily manage who is and isn’t allowed to log in to your app from the ease of your Magic Dashboard. No code is needed.</p><p>Access can be gated in two ways: explicitly allowing only certain emails and domains through with<a href="https://magic.link/docs/customization/access-control#allow-list"> Allow List</a>, or blocking certain emails and domains with<a href="https://magic.link/docs/customization/access-control#block-list"> Block List</a>. For example, you can specify a unique email address like email@magic.link. Alternatively, you can use a domain wildcard like *@magic.link for additional flexibility. Up to 20,000 specific email addresses or domains to be added to your Allow List or Block List.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rjxoqsBEUCI9KaW7Lf07-w.png" /></figure><p>We’ve heard from our customers that this capability comes in handy for many use cases. Some of the most popular we heard include:</p><ul><li>Rolling out a private beta for your app</li><li>Managing access for a gated community</li><li>Working on a membership-based app or service</li></ul><p>To get started, head to the Settings tab to toggle on an <a href="https://magic.link/docs/customization/access-control">Allow List or Block List</a>.</p><h3><strong>Customizable Sessions</strong></h3><p>Now with Magic, we have made it easy for you to customize your user’s session length all without the need to write an additional line of code. Our new refresh token persists without requiring your users to re-authenticate for up to 90 days. Not only this, the refresh token works with privacy browsers and browsers with 3rd party cookies disabled, providing a persistent session for your users.</p><p>From the Magic dashboard, navigate to Session Management under your app Settings page and toggle on Auto Refresh. You have the flexibility to pick session lengths ranging between 7 days and 90 days. The feature is available for email and all social login methods.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*V9esdkM4ChUUb_sBmSyIWA.png" /></figure><h3><strong>Microsoft and Twitch OAuth Support</strong></h3><p>We’ve expanded our list of federated social login providers to include <a href="https://magic.link/docs/social-login/microsoft">Microsoft</a> and <a href="https://magic.link/docs/social-login/twitch">Twitch</a>. These providers allow your users to register or sign in using Microsoft or Twitch to your app. The Magic client SDKs are available in Javascript, React, and mobile platforms iOS and Android.</p><h3>✨Magic Community</h3><p>Beyond new features and capabilities aimed at making the developer and end-user experience better, we are also focused on supporting the Magic community (that’s you!). It’s simple: we 💜 to connect, share, and learn together with developers around the world.</p><h3>👋Join us on Discord!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ugSZAvazPUYR90on" /></figure><p>Everyone is invited to join us on Discord, where the Magic team and community gathers to chat, as well as help answer questions you might have.</p><p>Whether you’re a developer or just keen to<a href="https://community.magic.link/"> join the discussion</a> on auth, decentralized identity, or other modern infra like blockchain — come and say hi!</p><p>One of our community members, dng from London, asked an excellent question:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Bn_1W9YOX9bCo--qJyYVyA.png" /></figure><p>Here’s how you can contribute and make the most out of the community:</p><ul><li>Share product feedback directly with the Magic team</li><li>Become a <a href="https://magic-fortmatic.typeform.com/to/Wgzsocor">Guest Author</a> to teach members through tutorials and blogs</li><li>Talk about your favorite tech at Close-up Magic meetups as a special guest</li><li>Connect with other members in a monthly Community Call</li><li>Celebrate wins together</li></ul><p>We would love to have you with us on this journey and can’t wait to see what you build with Magic.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2c6659bcb7e1" width="1" height="1" alt=""><hr><p><a href="https://medium.com/magiclabs/magic-product-updates-september-edition-2c6659bcb7e1">Magic Product Updates: September Edition</a> was originally published in <a href="https://medium.com/magiclabs">Magic</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>