<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to authorize and remember central on user request?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/95123/how-to-authorize-and-remember-central-on-user-request</link><description>Hello , 
 I am developing a peripheral device , on which the firmware shall prevent unauthorized access to some custom characteristics . Once a central device is authorized , the peripheral device shall allow the access to these characteristics . The</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 Jan 2023 12:51:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/95123/how-to-authorize-and-remember-central-on-user-request" /><item><title>RE: How to authorize and remember central on user request?</title><link>https://devzone.nordicsemi.com/thread/403183?ContentTypeID=1</link><pubDate>Wed, 04 Jan 2023 12:51:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1810e42a-68e7-45b7-a293-d7352bc6a921</guid><dc:creator>a14523</dc:creator><description>&lt;p&gt;Thank you, Vidar, for your support. I will evaluate the possible solutions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to authorize and remember central on user request?</title><link>https://devzone.nordicsemi.com/thread/403131?ContentTypeID=1</link><pubDate>Wed, 04 Jan 2023 10:04:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea9bb69a-eb6c-4edf-a15c-0dce7aa5ba87</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello Adam,&lt;/p&gt;
&lt;p&gt;It is no problem to dynamically enable/disable paring&amp;nbsp;support&amp;nbsp;on the nRF side. You can use the&amp;nbsp;&lt;a class="" title="pm_sec_params_set" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__peer__manager.html?cp=8_1_6_2_16_68#gac27a2cc39be9fce1bd866ba4c6b18349"&gt;pm_sec_params_set&lt;/a&gt;() for this. The problem, as indicated in my previous reply, is that the central has&amp;nbsp;no way of knowing if the peripheral is pairable without initiating a pairing request first. This can lead to a strange user experience.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The only way to make iOS not prompt the user to pair is to not&amp;nbsp;include any characteristics with security enabled in the attribute table.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to authorize and remember central on user request?</title><link>https://devzone.nordicsemi.com/thread/403107?ContentTypeID=1</link><pubDate>Wed, 04 Jan 2023 08:51:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b7ee610-b744-4031-b032-2272210fd0fc</guid><dc:creator>a14523</dc:creator><description>&lt;p&gt;Hello Vidar,&lt;br /&gt;&lt;br /&gt;thank you for your replay.&lt;br /&gt;&lt;br /&gt;I see your point. Sure, handling the authentication at the application layer could be a possible solution. Just out of curiosity, so there is not any way, offered by the nRF SDK to put the peripheral device into &amp;quot;pairable mode&amp;quot;?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Adam&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to authorize and remember central on user request?</title><link>https://devzone.nordicsemi.com/thread/402067?ContentTypeID=1</link><pubDate>Fri, 23 Dec 2022 10:58:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:780fca0a-6f6f-49bd-aba2-52c0765f6deb</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello Adam,&lt;/p&gt;
&lt;p&gt;Some centrals, such as iOS, will automatically prompt the user to pair if they discover a characteristic that requires authentication.&amp;nbsp;This is actually the only way to bond with iOS as it does not expose any&amp;nbsp;APIs for bonding.&lt;/p&gt;
&lt;p&gt;From their Accessory Design Guidelines Document (&lt;a href="https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf"&gt;https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1671790669748v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;So, it would be confusing to the user if they are asked to pair by the phone to then have the pairing rejected by the nRF device.&lt;/p&gt;
&lt;p&gt;Could an approach be to use&amp;nbsp;just works for all connections and h&lt;span&gt;andle the authentication at the application layer?&amp;nbsp;The application can ignore writes, etc from&amp;nbsp;the characteristics before the authentication has taken place.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>