2014-12-06 3 views

ответ

3

Согласно Mozilla's app permissions page, есть разрешение, называемое «phonenumberservice», но информации об этом нет. В любом случае, разрешение указано в разделе «Внутренние (сертифицированные) разрешения приложений», что означает, что, когда доступно, его можно использовать только «приложения на системном уровне и приложения по умолчанию, созданные Mozilla/операторами/OEM-производителями».

+1

спасибо. это означает, что я не могу получить номер телефона! :( –

1

Так что, как сказал @Jason, мобильный Идентичность API предоставляет эту возможность, а не только для сертифицированных, но для привилегированных приложений. Так что это больше не только для OEM-производителей.

Mozilla Wiki сайт показывает API:

dictionary MobileIdOptions { 
    boolean forceSelection = false; 
}; 
partial interface Navigator { 
    Promise getMobileIdAssertion(optional MobileIdOptions options); 
}; 

Сайт также предоставляет скелет кода образца для этого:

function verifyAssertion(aAssertion) { 
    // Make use of the remote verification API 
    // and return the verified msisdn. 
    // NB: This is necessary to make sure that the user *really* controls this phone number! 
} 

// Request a mobile identity assertion and force the chrome UI to 
// allow the user to change a possible previous selection. 
navigator.getMobileIdAssertion({ forceSelection: true }) 
.then(
    (assertion) => { 
     verifyAssertion(assertion) 
     .then(
      (msisdn) => { 
       // Do stuff with the msisdn. 
      } 
     ); 
    }, 
    (error) { 
     // Process error. 
    }; 
); 

Для этого, чтобы работать, вам нужно добавить mobileid разрешение в файл манифеста, например, как это (я составил описание):

"permissions": { 
    "mobileid": { 
     "description": "Required for sending SMS for two factor authentication", 
     "access": "readonly" 
    } 
} 

PS: Я сделал этот ответ, потому что большинство ответов устарели, а тот, который не является, не содержит всю полезную информацию.

Ссылки:

+0

Я знаю, что этот ответ пару лет, но мне было интересно: что нужно делать 'verifyAssertion'? Свяжитесь с сервером проверки MSISDN? – nuno

Смежные вопросы