Azure 인증 및 PHP 인코딩을 사용하여 이메일을 긁는 방법
P粉786800174
P粉786800174 2023-09-05 14:58:32
0
1
557

이메일 ID에서 받은편지함 이메일을 가져오기 위해 PHP로 작성된 애플리케이션이 있는데 잘 작동합니다. 기본 인증 애플리케이션입니다. 최근에 기본 인증이 중단되었기 때문에 우리는 새로운 인증을 받기 위해 Azure에 계정을 만들었고 이를 기반으로 이메일을 가져오고 싶습니다.

애플리케이션 ID와 비밀번호 ID를 사용하여 코드를 생성했습니다. 페이지를 열면 로그인 페이지로 리디렉션되는데 이것이 문제입니다. 자동으로 로그인하고 이메일을 받으려면 이 정보가 필요합니다. 이는 cron 프로세스이므로 로그인을 입력해야 할 때마다 이메일을 가져오는 것은 해결책이 아닙니다.

https://xxxx.co/projects/test.php?action=login 이 링크를 열면 로그인을 요청합니다. 애플리케이션 ID, 비밀 ID, 테넌트 ID와 같은 모든 데이터를 이미 배치했기 때문에 이를 원하지 않습니다.

이미 Microsoft에 로그인되어 있는 경우 로그인을 요청하지 않고 이메일을 통해 페이지를 가져옵니다. 하지만 시크릿 모드로 열면 로그인을 요청합니다.我们如何删除它并直接获取电子邮件

MS OAuth2.0 데모
" if (isset ($_SESSION['msatg'])){ echo "

인증됨 ".$_SESSION["uname"]."


"; echo '

로그아웃

'; } //세션이면 종료 else echo '

로그인할 수 있습니다. Microsoft

'; if ($_GET['action'] == '로그인'){ $params = 배열('client_id' =>$appid, 'redirect_uri' =>'https://xxx.co/projects/test.php', 'response_type' =>'토큰', '범위' =>'https://graph.microsoft.com/User.Read', '상태' =>$_SESSION['상태']); header('위치: '.$login_url.'?'.http_build_query ($params)); } 에코 ' <스크립트> URL = window.location.href; i=url.indexOf("#"); if(i>0) { url=url.replace("#","?"); window.location.href=url;} '; if (array_key_exists ('access_token', $_GET)) { $_SESSION['t'] = $_GET['access_token']; $t = $_SESSION['t']; $ch = 컬_초기화(); curl_setopt($ch, CURLOPT_HTTPHEADER, array('권한 부여: Bearer'.$t, '콘텐츠 유형: 애플리케이션/json')); cur_setopt($ch, CURLOPT_URL, "https://graph.microsoft.com/v1.0/me/"); 컬_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $rez = json_decode(curl_exec($ch), 1); if (array_key_exists ('error', $rez)){ var_dump($rez['error']); 주사위(); } 또 다른 { $_SESSION['msatg'] = 1; //인증 및 확인 $_SESSION['uname'] = $rez["displayName"]; $_SESSION['id'] = $rez["id"]; } 컬_닫기($ch); 헤더('위치: https://xxxx.co/projects/test.php'); } if ($_GET['action'] == '로그아웃'){ 설정 해제($_SESSION['msatg']); 헤더('위치: https://xxxx.co/projects/test.php'); }

저희는 php 直接抓取电子邮件

P粉786800174
P粉786800174

모든 응답 (1)
P粉426780515

사용자의 이메일을 검색하려면OAuth 2.0授权对用户进行身份验证并获取访问令牌。并使用它调用Microsoft Graph API를 사용하세요.

문의하신 내용은 로그인하지 않은 상태에서도 로그인 페이지가 나타날 수 있습니다. 이 문제를 해결하려면 인증 코드 대신OAuth 2.0 客户端凭据를 사용해야 합니다. p>

클라이언트 자격 증명을 사용하여 액세스 토큰을 얻는 샘플 코드입니다.

으아악

액세스 토큰을 받은 후 이를 사용하여Microsoft Graph API전화를 걸고 사용자의 이메일을 검색할 수 있습니다.

사용자 이메일을 검색하기 위한 샘플 코드.

으아악

자세한 내용은MSDoc1MSDoc2을 참조하세요.

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!