<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uncategorized &gt; Metasys Software Pvt Ltd.</title>
	<atom:link href="https://ikfstage.metasyssoftware.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://ikfstage.metasyssoftware.com</link>
	<description></description>
	<lastBuildDate>Fri, 31 May 2024 05:57:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>ReadQRCode(): A New function by FileMaker 19.5</title>
		<link>https://ikfstage.metasyssoftware.com/readqrcode-a-new-function-by-filemaker-19-5/</link>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 26 Aug 2022 12:31:42 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FileMaker]]></category>
		<guid isPermaLink="false">https://development.ikf.in/metasys1/?p=5339</guid>

					<description><![CDATA[<p>Claris has launched its FileMaker 19.5 version. This launch improves the platform's performance, security, and dependability. The latest version of FileMaker has various new features, one of which is its QRCode compatibility. QR Code stands for Quick Response Code which can store a large amount of content. It contains information in two dimensions, horizontal and &#8230;</p>
<p class="read-more"> <a class="" href="https://ikfstage.metasyssoftware.com/readqrcode-a-new-function-by-filemaker-19-5/"> <span class="screen-reader-text">ReadQRCode(): A New function by FileMaker 19.5</span> Read More &#187;</a></p>
The post <a href="https://ikfstage.metasyssoftware.com/readqrcode-a-new-function-by-filemaker-19-5/">ReadQRCode(): A New function by FileMaker 19.5</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<div id="pl-5339"  class="panel-layout" ><div id="pg-5339-0"  class="panel-grid panel-no-style" ><div id="pgc-5339-0-0"  class="panel-grid-cell" ><div id="panel-5339-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<p>Claris has launched its <a href="https://development.ikf.in/metasys1/technologies/filemaker/">FileMaker</a> 19.5 version. This launch improves the platform's performance, security, and dependability. The latest version of FileMaker has various new features, one of which is its QRCode compatibility.</p>
<p>QR Code stands for Quick Response Code which can store a large amount of content. It contains information in two dimensions, horizontal and vertical. Any type of smartphone device can scan and understand QR codes, providing businesses with a fast and direct way to guide users to go to a specific web page or link.</p>
<p>What if you had an inventory database providing details of the product via an API and you wish to read the contents of the QR Code for all your items? FileMaker now has the ability to read the contents of the QR Code without using any plug-in or third-party code or scanner.</p>
<p><strong>QRCode Feature in FileMaker 19.5</strong></p>
<p>Consider a scenario where you have QR Code images stored in your FileMaker database and you would like to retrieve the details stored in it. For instance, a books inventory application where the QR Code images of books are stored in the FileMaker application. Now to retrieve and store the details in the application, you would either need a QR Code scanner and then manually enter data or you might need a plug-in to do this. With the release of FileMaker Pro 19.5.1, your job becomes much easier. In the new version, the function ReadQRCode()will do the job for you. It is easy to use and understand too.</p>
<p>In the example below, we are reading a QR code, which contains the URL of a book. This URL contains a purchase link of the book. We can fetch other details of the book as well, provided it is contained in the QR code. We need a container field to store the QR code image. The user can manually insert it or scan it from the FM Go application</p>
<p><img fetchpriority="high" decoding="async" class=" wp-image-4667 aligncenter" src="/wp-content/uploads/2024/05/QR-Code.png" alt="QR Code" width="271" height="442"/></p>
<p>The ReadQRCode script, using ReadQRCode() function, will set the URL in the respective field. This script can be called on button click or as an OnObjectModify script trigger for the container field.</p>
<p><img decoding="async" class="size-medium wp-image-4668 aligncenter" src="/wp-content/uploads/2024/05/Read-QR-Code.jpeg" alt="ReadQRCode"/></p>
<p>We have given a ‘Go’ button to navigate to the URL read by the ReadQRCode() function.</p>
<p><img decoding="async" class="size-medium wp-image-4669 aligncenter" src="/wp-content/uploads/2024/05/Read-QR-Code-Go.jpeg" alt="ReadQRCode Go"/></p>
<p>It will redirect the user to the purchase page of the book that has its details and reviews.</p>
<p><img decoding="async" class=" wp-image-4681 aligncenter" src="/wp-content/uploads/2024/05/Purchase-Page.png" alt="Purchase Page" width="503" height="321"/></p>
<p><strong>Note that this function is supported on macOS, iOS 15, and iPadOS 15 devices.</strong></p>
<p><a href="http://metasyssoftware.com/">MetaSys Software</a> has a sizeable group of certified FileMaker specialists with the knowledge of versions 5 through 19. For over 20 years, our clients have enjoyed working with us. Among the systems, we have deployed and managed with FileMaker are cruise booking systems, inventory management systems, and project management systems. To know more about what we offer in FileMaker, <a href="https://development.ikf.in/metasys1/contact/">contact us</a> now!</p>
</div>
</div></div></div></div></div>The post <a href="https://ikfstage.metasyssoftware.com/readqrcode-a-new-function-by-filemaker-19-5/">ReadQRCode(): A New function by FileMaker 19.5</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>React Query: Making Data Fetching and Server-state Management Easier</title>
		<link>https://ikfstage.metasyssoftware.com/react-query-making-data-fetching-and-server-state-management-easier/</link>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 26 Aug 2022 12:19:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://development.ikf.in/metasys1/?p=5336</guid>

					<description><![CDATA[<p>React Query is the most performant and powerful data synchronization library for React. It performs functions such as server data fetching, caching, synchronizing, and modifying server states for React applications. While building a React app, developers can implement the data fetching feature in multiple ways, i.e., combinations of component-based states, react-redux, and react-hooks. These state-management &#8230;</p>
<p class="read-more"> <a class="" href="https://ikfstage.metasyssoftware.com/react-query-making-data-fetching-and-server-state-management-easier/"> <span class="screen-reader-text">React Query: Making Data Fetching and Server-state Management Easier</span> Read More &#187;</a></p>
The post <a href="https://ikfstage.metasyssoftware.com/react-query-making-data-fetching-and-server-state-management-easier/">React Query: Making Data Fetching and Server-state Management Easier</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<div id="pl-5336"  class="panel-layout" ><div id="pg-5336-0"  class="panel-grid panel-no-style" ><div id="pgc-5336-0-0"  class="panel-grid-cell" ><div id="panel-5336-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<p>React Query is the most performant and powerful data synchronization library for <a href="https://ikfstage.metasyssoftware.com/technologies/reactjs/">React</a>. It performs functions such as server data fetching, caching, synchronizing, and modifying server states for React applications. While building a React app, developers can implement the data fetching feature in multiple ways, i.e., combinations of component-based states, react-redux, and react-hooks. These state-management solutions; however, mostly function well on the client side rather than on the server side. React Query is the best library for managing the server-side states.</p>
<h2><strong>How React Query Enhances App Performance</strong></h2>
<p>React Query makes it possible to replace several lines of complicated code from a React application with just a few lines of code. This makes application maintenance and the addition of new features on top of the existing ones easier. The user experience is more responsive and quicker than before. It also helps to increase memory performance from an application perspective.</p>
<h3><strong>React Query in Action</strong></h3>
<p>If we look at the code for React Query, at the root level of the project, it provides a “QueryClientProvider” as a wrapper that handles and manages global data-fetching and caching.</p>
<p><img decoding="async" class="alignnone size-medium wp-image-4648" src="/wp-content/uploads/2024/05/React-Query-Program.png" alt="React Query Program" /></p>
<p>React Query provides multiple hooks that connect with its global state controller and returns a Promise object for fetching/caching the server-side data. It calls the API client method to fetch/update/delete/create server-side data and also manages server states such as data, error, failurecount, isError, isIdle, isLoading, isPreviousData, isFetchedAfterMount, isFetching, isStale, isSuccess, refetch, remove, status.</p>
<p><img decoding="async" class="alignnone size-medium wp-image-4656" src="/wp-content/uploads/2024/05/useQuery-hook.png" alt="useQuery hook " /></p>
<p>The useQuery hook has multiple options so developers can pass them to customize the hook to meet their project needs. It has the “enabled” option, a powerful option that actually provides multiple features such as-</p>
<p>• an option to run multiple queries in parallel or even synchronously i.e., on the basis of the previous query execution;<br />
• turning the queries on or off based on the functionality;<br />
• sorting and filtering features in the queries to help improve performance; and<br />
• an option to wait for inputs from the user; you can disable the query for any of the use-case.</p>
<p>React Query allows developers to create custom hooks based on their project requirements using React Query hooks. This feature keeps the code more generalized.</p>
<p><strong>It provides multiple fetching features such as:</strong></p>
<p>• refetching the data on window focus;<br />
• retrying the query if an error occurs; and<br />
• fetching the data on updating or deleting of the records. With this, the list is always up to date after “update” and “delete” actions.</p>
<p>Every query has four main statuses – idle, loading, error, and success. Based on these, React Query returns the server-side states for handling each query. And with those states, developers can build a view. That means it displays the loading view until the loading state is enabled. It correctly handles errors based on error states. It displays the data or processes the data, then shows the normalized data depending on the successor states.</p>
<p>React Query also offers the best ways to handle data pagination. It provides infiniteQuery and mutationQuery options for paginating the data properly, depending on what the users require.</p>
<p>It also helps resolve issues arising out of asynchronous server-side data handling. Before React Query, developers had to write custom code for handling asynchronous server-side data. React Query has solved this issue. Additionally, it integrates well with the react-testing-library, providing appropriate code coverage too.</p>
</div>
</div></div></div></div></div>The post <a href="https://ikfstage.metasyssoftware.com/react-query-making-data-fetching-and-server-state-management-easier/">React Query: Making Data Fetching and Server-state Management Easier</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Web API security using JSON web tokens</title>
		<link>https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/</link>
					<comments>https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 24 Jul 2020 08:10:54 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Custom Software solutions]]></category>
		<category><![CDATA[web application development]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Web designing and application development]]></category>
		<category><![CDATA[Web API]]></category>
		<category><![CDATA[Web tokens]]></category>
		<guid isPermaLink="false">https://development.ikf.in/metasys1/?p=3121</guid>

					<description><![CDATA[<p>Today data security during financial transactions is super important and critical. The protection of sensitive user data should be a major priority for developers working on applications that use financial or personal information of the clients. These days, many apps are accessed through multiple devices including desktops, laptops, mobile phones and tablets. Both web apps, &#8230;</p>
<p class="read-more"> <a class="" href="https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/"> <span class="screen-reader-text">Web API security using JSON web tokens</span> Read More &#187;</a></p>
The post <a href="https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/">Web API security using JSON web tokens</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<div id="pl-3362"  class="panel-layout" ><div id="pg-3362-0"  class="panel-grid panel-no-style" ><div id="pgc-3362-0-0"  class="panel-grid-cell" ><div id="panel-3362-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<p>Today data security during financial transactions is super important and critical. The protection of sensitive user data should be a major priority for developers working on applications that use financial or personal information of the clients.</p>
<p>These days, many apps are accessed through multiple devices including desktops, laptops, mobile phones and tablets. Both web apps, and native apps can use web APIs for accessing data and providing services. This article addresses the topic of ensuring client security of a web API during the development phase. I will share my experience with using JSON web tokens (JWT) to ensure security of a representational state transfer (REST) web API.</p>
<h2>There are a two simpler alternatives to JWT that I will briefly mention first:</h2>
<ol>
<li>
<h3><strong>Basic authentication:<br />
</strong></h3>
<p>This method is very easy to implement. A username and password is passed and validated in a database to identify legitimate users. Since the username and password are sent as plain text, every request is very susceptible to cross-site request forgery (CSRF). The security can be improved somewhat by passing the details in the headers section of the web API instead of the URL, nevertheless this method is not very secure as it does not involve any encryption.</p>
</li>
<li>
<h3><strong>API keys:<br />
</strong></h3>
<p>This technique is used to overcome the drawbacks of basic authentication. In this method, a unique key is assigned every time the user signs in indicating that the user is known. A user can use the same key to re-enter the system. The security issue with this method is that the key can easily be picked up during network transmission. Often, the key is passed as a query string in the URL, making it easier for someone to compromise the security of the web API.</p>
</li>
</ol>
<p>JWT avoids the security flaws of the two simpler methods, by providing a bearer token authentication of the Web API. With this method, the user name and password validates, whether, the user exists in the system. Information about the validated user like name, email address and UserID can be fetched. These items are included in the ‘claim’. Claims are pieces of information about a user that have been packaged and signed into security tokens.</p>
<p>A JWT token consists of three parts, the header, the payload and the signature.</p>
<p><strong>Header</strong> – Contains the type of token and signing algorithm used</p>
<p><strong>Payload</strong> – Contains the issuer of the claim, the subject of the claim and the audience, which refers to the intended recipient of the claim. Other information can also be included, such as an expiry time of the token, or additional user information.</p>
<p><strong>Signature</strong> –Contains the encoded header, encoded payload and a secret key</p>
<h2>Implementation</h2>
<p>To give you more details about JWT implementation, I’ll be going through the steps I took to implement JWT in my web API. First I created a web API project in .Net core 2.2. Next I installed two packages via npm of visual studio, using the following commands:</p>
<ul>
<li><strong>Install-Package System.IdentityModel.Tokens.Jwt -Version 5.6.0</strong></li>
<li><strong>Install-Package Microsoft.AspNetCore.Authentication.JwtBearer -Version 3.1.0</strong></li>
</ul>
<p>In the appsetting.json file, I added my JWT keys including the secret key, issuer, subject and audience as follows:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3122 size-full" title="JWT keys" src="/wp-content/uploads/2024/05/web-api-security-2024.jpg" alt="JWT keys" width="294" height="105" /></p>
<p>Next, I registered a JWT authentication schema by using the "AddAuthentication" method and specifying JwtBearerDefaults.AuthenticationScheme. in the ConfigureServices section of the start-up class.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3123 size-full" title="JWT Authentication Schema" src="https://stage.metasyssoftware.com/wp-content/uploads/Image2.png" alt="JWT Authentication Schema" width="996" height="420" /></p>
<p>I also added app.UseAuthentication() in the configure method of the startup class.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3124 size-full" title="UseAuthenticationConfiguration" src="https://stage.metasyssoftware.com/wp-content/uploads/Image3.png" alt="UseAuthenticationConfiguration" width="683" height="104" /></p>
<p>Next, I created a token controller in the web API. This token controller action GetApiToken took the two input parameters: Username and Password, and validated these details against the database. Once the user is validated, I generated a token using the secret key, claims information and signing credentials.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3125 size-full" title="TokenControlerInfo" src="https://stage.metasyssoftware.com/wp-content/uploads/Image4.png" alt="TokenControlerInfo" width="744" height="378" /></p>
<p>The generated token was then stored as an item in sessionStorage.</p>
<p>For all my web API requests, I used the following key in the header section of each Ajax web API  call request.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3126 size-full" title="AjaxCallWithBearerToken" src="https://stage.metasyssoftware.com/wp-content/uploads/Image5.png" alt="AjaxCallWithBearerToken" width="586" height="137" /></p>
<p>Finally, I applied the <strong>[Authorize]</strong> attribute to my controller to which I was calling the web API.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3127 size-full" title="AuthorizeAttribute" src="https://stage.metasyssoftware.com/wp-content/uploads/Image6.png" alt="AuthorizeAttribute" width="541" height="175" /></p>
<p>These were all the steps I required to implement JWT authentication in my Web API. The tokens are encrypted, so they are difficult to tamper with. They expire at specific intervals and are cryptographically signed using a cryptographic algorithm.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3128 size-full" title="AjaxCallRequestHeaders" src="https://stage.metasyssoftware.com/wp-content/uploads/Image7.png" alt="AjaxCallRequestHeaders" width="808" height="216" /></p>
<p>The final implementation step is to remove the generated token item which was stored in sessionStorage when a user logs out of the system.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3129" src="https://stage.metasyssoftware.com/wp-content/uploads/Image8.png" alt="LogoutInfo" width="469" height="95" /></p>
<p>MetaSys has extensive expertise in building secure web APIs for web applications. Our team has experience in building custom software solutions for clients across different industry verticals. Please feel free to contact us if you are in need of a partner to build a secure web API.  For more info, visit our website: <a href="https://development.ikf.in/metasys1/dot-net">https://development.ikf.in/metasys1/dot-net</a>.</p>
</div>
</div></div></div></div></div>The post <a href="https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/">Web API security using JSON web tokens</a> appeared first on <a href="https://ikfstage.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://ikfstage.metasyssoftware.com/custom-software-web-api-security-using-json-web-tokens/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
