Доступ до приватних даних в ERDDAP™
Багато ERDDAP™ Ввімкніть налаштування, не ввімкнено, і, таким чином, не надайте ніякого способу для входу в систему, а не у них є будь-які приватні дані.
Що ERDDAP™ Увімкнено встановлення. В даний час ERDDAP™ тільки підтримує автентифікацію через облікові записи електронної пошти Google, які включають облікові записи електронної пошти в NOAA і багато університетів. Якщо ERDDAP™ Увімкнено автентифікацію, будь-який з обліковим записом електронної пошти Google-managed можна увійти, але вони матимуть доступ до персональних даних, які містяться в тому, що обліковий запис електронної пошти Google-managed може увійти в систему, але вони матимуть лише доступ до особистих даних, які містяться в Інтернеті. ERDDAP™ Адміністратор чітко уповноважений їм доступ.
Оновлена інструкція
Деякі дані нижче з дати. До цього оновлення можна використовувати Веб-сайт за останні кроки щодо отримання даних з приватного облікового запису з скриптами.
Люди з браузерами
Люди людини ERDDAP™ Увійти ERDDAP™ для отримання доступу до персональних даних, які вони уповноважені на доступ.
Для входу в систему:
- Натисніть на колоду за посиланням у верхній зліва від будь-якого ERDDAP™ Веб-сайт Якщо немає входу в посилання, ERDDAP™ Встановлення не містить автентифікацій, і не існує приватних даних.
- Клацніть на кнопку Вхід в обліковий запис Google. Текст гудзики повинен змінитися до "Підпису".
- Натисніть на Увійти ERDDAP кнопка. Сторінка повинна змінитися Ви увійти, як Ваше ім'я Електронна пошта й Якщо це не, почекайте 5 секунд і натисніть на Лог ERDDAP кнопка знову. У крайніх випадках можна почекати, а потім спробувати знову кілька разів.
- Не використовуйте кнопку «Задня» браузера. Використовуйте " ERDDAP "посилання на вершину вище, потім використовуйте інші посилання, щоб перейти до ERDDAP™ Вас цікавить. Якщо ви не ввійшли, перевантажте сторінку.
Списки
\[ Це трохи модифіковано з інформації, що надається компанією Lynn DeWitt, яка зробила важкою роботою з фігурою. Низький, спасибі вам дуже багато! Якщо у вас є виправлення або пропозиції, будь ласка, email erd.data @ noaa.gov . \]
Також можна увійти в систему ERDDAP™ і доступ до приватних даних через скрипт. Ось приклад, який використовує curl :
- Ці вказівки припускають, що ви використовуєте адресу електронної пошти, де не вимкнено 2-факторну автентифікацію. Якщо ваша головна адреса електронної пошти має 2-факторну автентифікацію, розгляньте створення іншої адреси з 2-факторною автентичністю.
- Увійти ERDDAP™ ручний з gmail адрес, який ви хочете використовувати в вашому скрипті і приймати будь-які дозволи, необхідні, після чого увійти повністю назад.
- Відкрийте інструменти розробника веб-переглядача та перейдіть на вкладку мережі.
- Натисніть на ERDDAP™ "log in" link, потім натисніть кнопку "Підписатись" і виберіть відповідну адресу електронної пошти, якщо запитати.
- Після зміни кнопки "Підписатися" на кнопку "Підписатися", закладку Розробник Tools Network покаже два записи, які виглядають як: (Приклад з Firefox) :
iframerpc?action=issueToken&response loginGoogle.html
Використовуйте контекстне меню миші для "копії як CURL" як з цих URL-адрес та вставте їх у звичайний текстовий редактор 6. Натисніть на кнопку "Ввійти" ERDDAP "кнопка і "копія як cURL" посилання, яка виглядає як:
login.html
і вставте цю третину curl команда в текстовий файл. 7. У текстовому файлі ви тепер будете мати 3 лінії, такі як: ERDDAP™ сервер на ' https://host.somewhere.com/erddap Р. Перший curl Команда отримує ваш профіль користувача в "login\_hint" і генерує "id\_token". Другий використовує id\_token, щоб увійти в Google, і третій потім увійти в систему ERDDAP й
curl 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response\\_type=token%20id\\_token&scope=openid%20profile%20email&client\\_id=ABCDEFG.apps.googleusercontent.com&login\\_hint=XXXXXXXXXX&ss\\_domain=https%3A%2F%2Fhost.somewhere.com&origin=https%3A%2F%2Fhost.somewhere.com' --2.0 -H 'Host: accounts.google.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://accounts.google.com/o/oauth2/iframe' -H 'Cookie: lotsofcookiestuff' -H 'Connection: keep-alive' curl 'https://host.somewhere.com/erddap/loginGoogle.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' --data 'idtoken=HUGELONGIDTOKEN' curl 'https://host.somewhere.com/erddap/login.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1'
- Наведені вище 3 лінії, при запуску послідовно з командного рядка, ввійдуть вас ERDDAP й Для того, щоб використовувати ці в скрипті, потрібно захопити ідентифікатор\_token з першого рядка, подавати його в другу лінію, і написати cookie, щоб читатися наступними лініями.
- Щоб розробити скрипт, запустіть перший (Рhttps://accounts.google.com) curl точно так, як це було скопійовано з інструментів розробника, і захоплення відповіді (Ви можете отримати curl помилка про прапор "-2.0" просто видаліть його) й У php він виглядає наступним чином:
$gcurlstuff="curl 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response\\_type=token%20id\\_token&scope=openid%20profile%20email&client\\_id=ABCDEFG.apps.googleusercontent.com&login\\_hint=XXXXXXXXXX&ss\\_domain=https%3A%2F%2Fhost.somewhere.com&origin=https%3A%2F%2Fhost.somewhere.com' -H 'Host: accounts.google.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://accounts.google.com/o/oauth2/iframe' -H 'Cookie: lotsofcookiestuff' -H 'Connection: keep-alive'"; //execute the curl command: exec($gcurlstuff,$output,$status); //the response is a json array in $output $response=json\\_decode($output\\[0\\],true); //the part you need is in "id\\_token": $id\\_token=$response\\["id\\_token"\\];
Увійти в Google, виконавши другий рядок за допомогою $id\_token, спочатку знімаючи параметр "-H "Cookie: stuff" і замість того, щоб розповісти curl писати cookie:
$glcurlstuff="curl 'https://host.somewhere.com/erddap/loginGoogle.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' --data 'idtoken=".$id\\_token."' -b cookies.txt -c cookies.txt" exec($glcurlstuff,$output1,$status);
Увійти ERDDAP™ , знову видаляючи параметр "-H "Cookie: речі" і використовуючи раніше записаний cookie:
$ecurlstuff="curl 'https://host.somewhere.com/erddap/login.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1 -b cookies.txt"' exec($ecurlstuff,$output2,$status);
Ви повинні мати можливість запитувати дані з сервера, використовуючи той же cookie:
$curlstuff="curl -s 'https://host.somewhere.com/erddap/tabledap/datasetid.csv?variablelist' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -b cookies.txt"; exec($curlstuff,$output3,$status); //$output3 will be data in csv!