2016-12-29 2 views
0

Я создаю приложение, в котором пользователи могут получать строку javascript, которую они могут встроить на свой собственный веб-сайт, для загрузки виджета и предоставления определенной информации посетителям сайта и разрешения взаимодействия от конечных пользователей.Виджет Iframe на веб-сайте клиентов и аутентификация для API

Виджет - это javascript, который загружается в iframe со страницы, размещенной на моем сервере. Страница - это интерфейс, который говорит об интерфейсе .NET через API. В URL-адресе я получаю идентификатор пользователей, чтобы узнать, какой виджет загружается. www.example.com/widget/userid

Виджет не требует, чтобы конечные пользователи вошли в систему или прошли аутентификацию, но я не хочу, чтобы мои API были общедоступны, и мне нужна аутентификация, по крайней мере, у моих собственных пользователей прежде чем они получат javascript, который они могут внедрить, или любую другую практику, которую кто-то может предложить.

Какова была бы лучшая практика для аутентификации API, с которой страница может разговаривать, даже когда она загружена в iframe на моих сайтах пользователей и не требует, чтобы мои пользователи посетили сайт для входа?

ответ

0

Если я правильно понял ваш вопрос, вы должны использовать postmessage. В стороне отправителя:

parent.postMessage({ type: 'something',more data...}, '*') 

, а затем на стороне приемника вы можете сделать:

window.addEventListener('message', function (event) { 
    switch (event.data.type) { 
     case 'something': 
     // Do something 
     break; 
    } 
} 

Таким образом, вы можете сделать IFrame связь с другим элементом JS.

Надеюсь, что это поможет.

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