Eigentlich geht es hier nicht um den Autorisierungsmechanismus des Miniprogramms, sondern um den Anmeldestatusmechanismus. Die Berechtigung im Miniprogramm ist die Berechtigung für eine bestimmte Schnittstelle. WeChat hat viele API-Schnittstellen für Miniprogramme offiziell gekapselt.
Wenn wx.login() aufgerufen wird, können Sie eine Anfrage an den Server initiieren und den Code erhalten.
Im offiziellen Konto muss der Entwickler den Link auf dem Server einrichten.
Der Client muss den Code an den Server senden, wenn er ihn erhält. WeChat empfiehlt nicht, dass der Client den Code direkt an WeChat sendet.
Nachdem der Server den Code empfangen hat, trägt er die App-ID und das Geheimnis für den Zugriff auf den WeChat-Server. Der WeChat-Server gibt die OpenID und den Sitzungsschlüssel zurück.
Unter ihnen:
openid是用户标识。 session_key是解密用的。因为有的接口返回来的数据是加密的,比如当我们想获取unionid时。
Wenn der Entwicklerserver die von WeChat zurückgegebene openid und session_key erhält, generiert er eine 3rd_session (vorzugsweise mit openid verknüpft), die auch als Token bezeichnet werden kann. Geben Sie diese 3rd_session dann an den Client zurück und speichern Sie die Daten mit 3rd_session als Schlüssel und openid+session_key als Wert in der Serversitzung.
Nachdem der Client diese 3rd_session erhalten hat, schreibt er sie auch in den Speicher.
Auf diese Weise kann der Anmeldestatus durch Aufrufen von wx.checksession() ermittelt werden, nachdem der Benutzer das Miniprogramm erneut aufgerufen hat.
Darüber hinaus macht das Schreiben dieser 3rd_session in den Client auch unsere Schnittstelle sinnvoller.
Weil einige Schnittstellen öffentliche Schnittstellen sind und einige Schnittstellen eine Berechtigungskontrolle erfordern. Und diese 3rd_session ist die eindeutige Kennung des Benutzers.
Verwandte Empfehlungen:
Instanz der WeChat-Applet-Autorisierung zum Abrufen von Benutzerdetails
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Autorisierungsmechanismus des WeChat-Miniprogramms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!